![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Адрес: москва
Сообщений: 63
|
Всем доброго времени суток. Возникла трудность в создании менюшки названия пунктов и подпунктов которой грузятся через XML файл. Вернее пункты кое как догнал как сделать, а вот с подпунктами никак не разберусь. Народ, если кому не сложно, помогите решить проблемму. На всякий случай прилагаю исходничек.
XML менюшка Заранее благодарен всем! готов даже заплатить символическую сумму Последний раз редактировалось Цветкофф; 01.12.2008 в 00:52. |
|
|||||
|
для обхода элементов и подэлементов меню можно использовать рекурсию. Хорошо тем что обходятся любое кол-во вложенных однотипных элементов
для вашего XML menu_xml = new XML(); menu_xml.ignoreWhite = true; menu_xml.onLoad = function(loaded) { if (loaded) pass_by(this.firstChild, 0, 0); else trace('error') }; menu_xml.load("menu.xml"); function pass_by(parent_item, index, level){ var item = parent_item.firstChild; while(item){ // Для каждой кнопки создаём мувик var btn = _root.createEmptyMovieClip('btn' + level + index, _root.getNextHighestDepth()); btn._y = index * 20; btn._x = level * 20; btn.link = item.attributes.url; btn.onPress = go_url; // Создаём текстовое поле для отображения названия кнопки var txt = btn.createTextField('tf', 1, 0, 0, 200, 20); txt.border = true; txt.text = item.attributes.text; index++; // подразделы if( item.hasChildNodes ) index = pass_by(item, index, level + 1); item = item.nextSibling; } return index; } function go_url(){ trace(this.link); } Последний раз редактировалось Mnilionic; 01.12.2008 в 04:01. |
|
|||||
|
Регистрация: May 2008
Адрес: москва
Сообщений: 63
|
Mnilionic спассибо конешно за ваши старания, но это немного не совсем то что Я хотел, мне как бы кнопочки необходимо разместить по горизонтали и первоначально пункты подменю скрыть, а при наведении на определённый пункт открывалась бы панелька с подпунктом, вот.
новсё равно, ![]() |
|
|||||
|
Аналогичная проблема, но несколько другой вопрос. Вот есть у меня хмл меню, со скрытыми подпунктами, получается еще до того как я нажму на какой нибудь раздел он у меня уже будет загружен (т.к. мы грузили хмл файл, а он общий для всего меню, тут вроде бы верно).
Если я допустим делаю каталог по такому же принципу, и в нем у меня будут загружены картинки (мелкие, но их хватает), то получается для рационального использования трафика мне надо будет делать к каждому пункту меню свой хмл лист?.. То есть сразу грузится хмл со списком разделов, а потом при нажатии на раздел грузим еще хмл с содержимым раздела, так?.. Или можно это как нибудь прогрммно обойти что бы пока не нажата кнопка раздела картинки не грузились? Может немного запутанно обьяснил так что могу уточнить. Вопрос вроде как по теме, просто у меня более развитая структура получается. 2 Цветкофф может тот вариант что я предложил (использовать кучу хмл листов) подходит для решения твоей проблемы7..или ты хочешь что бы из одного хмл файла все читалось? |
|
|||||
|
Регистрация: May 2008
Адрес: москва
Сообщений: 63
|
nOobCrafter знаете, мне принципиально разницы нет, скиньте пожалуста тот исходник менюшки, попробую поковырять его, может что нибудь и получится, заранее благодарен
|
|
|||||
|
как размещать кнопочки вам решать. вы спросили как достать подпункты - я вам показал =)
|
|
|||||
|
UPD. Как сейчас пытаюсь это реализовать:
1. сразу гружу весь хмл лист 2. выстраиваю архитектуру так что, названия разделов видно, а подразделы спрятаны ._visible = false; и ._enabled = false; 3. при нажатии на кнупку раздела показываю подразделы и смещаюсь на их высоту. Что то получается что то нет, но мне кажеться что рыть надо в таком направлении. Немогу понять как реализовать смещение при нажатии на кнопку, сейчас Но меняет положение только последняя, чую что надо бы как то onEnterFrame = function, но не знаю как ее туда приклеить( Последний раз редактировалось nOobCrafter; 01.12.2008 в 18:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|