Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Accordion menu+XML, onPress (http://www.flasher.ru/forum/showthread.php?t=115735)

evgen_triplex 09.09.2008 00:51

Accordion menu+XML, onPress
 
Вложений: 1
Меню создается с помощью XML, после прослушки узнаю путь и имя мувика
_level0.myComponent.subMenus.c0,
но не могу понять почему не работает следующий код:
Код:

_level0.myComponent.subMenus.c0.onPress = function() {
        trace('bla, bla, bla,...');
};


Kuruki 09.09.2008 15:13

У Аккордеона нет события onPress, вам скорее всего нужен change.

evgen_triplex 09.09.2008 16:41

И что мне делать с этим "change" ?
Пытался сам что-то откопать, но не нашел.....

Kuruki 09.09.2008 17:00

Событие change вешается не на каждый пункт меню , а на всё меню. А уже в функции, обрабатывающей это событие, определяется какой пункт меню был выбран. Вот пример из хелпа:
Код:

// Создаем слушателя события
var my_accListener:Object = new Object();
my_accListener.change = function() {
    trace("Changed to different view");
    // Передаем лэйбл(название) выбраной подменюшки в переменную
    var selectedChild_str:String = my_acc.selectedChild.label;
    // Определяем действие согласно выбраному меню
    switch (selectedChild_str) {
    case "Shipping Address":
        trace("One was selected");
        break;
    case "Billing Address":
        trace("Two was selected");
        break;
    case "Payment":
        trace("Three was selected");
        break;
    }
};
my_acc.addEventListener("change", my_accListener);
// Не забудем зарегить его(слушателя) в слушатели

Вообщем F11, в поиске набрать "Accordion"

UPDATE: Упс, сорри. Не посмотрел исходник сразу. Я думал вы пользуйтесь стандартным флэшовым компонентом...

evgen_triplex 09.09.2008 17:23

Да, компонент не стандартный....
В приложенном архиве он есть (см. выше)
Может быть нужно что-то прописать в самом файле *.xml? Только вот xml не знаю...

Kuruki 09.09.2008 17:31

Ну во fla файле есть же пример кода. Там почти то же самое
Код:

myEventListener = new Object();
myEventListener.onRelease = function(args) {
        trace('onRelease event on item: '+args.item);
        switch (args.item.title) {
                    case "About us":
                    trace("Two was selected");
                    break;
                  }
};
myComponent.addEventListener("onRelease",myEventListener);


evgen_triplex 09.09.2008 17:47

Спасибо огромнейшее! :)
Жаль, что здесь нет "репутации", так бы +1


Часовой пояс GMT +4, время: 13:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.