Просмотр полной версии : Переменная как параметр функции. Не работает.
Помогите плиз.
Решил написать флешку которая генерит всплвающее меню из XML. Вот файл:
16655
На кнопки меню при создании вешается обработчик (при наведении) вызывающий функцию ( F_openSub(Parentid:Number) )
При вызове этой функции я передаю в качестве параметра переменную:
b.onRollOver= function () {F_openSub(i);};
Функция не срабатывает. Если я передаю не переменную а конкретную цифру - то все окей.
Подскажите плиз чайнику... :(
this.create
05.03.2007, 22:08
Скажу сразу - отслеживаете полную загрузку не правильно. Забыли статус проверить.
А можно подробнее? А то я еще совсем чайник. :)
this.create
05.03.2007, 22:16
xml_loader.ignoreWhite = true;
xml_loader.load('main.xml');
xml_loader.onLoad = function(success) {
if (success && !this.status) {
...
}
}; Правда это к вашему вопросу не имеет отношения, но все равно важно. Надо проверять при загрузке как сам удачный факт загрузки, так и статус xml файла. При удачном построении дерева xml статус будет 0. В зависимости от этих данных вы сможете сделать сообщения об ошибках, например.
this.create
05.03.2007, 22:28
Функция не срабатывает. Срабатывает.
Проблема в следующем: вы производите вызов значения переменной i после того как цикл полностью прокрутился. Поэтому у вас i всегда равно 8. Выход: либо назначать кнопке динамическое свойство и сохранять там текущее значение i для каждой кнопки, либо заносить значение i в массив и им уже оперировать.
Например, вариант с динамическим свойством на кнопку:
//Вешаем обработчик событий наведения на кнопку
b.i = i;
b.onRollOver = function() {
//Открываем подменю соответствующей кнопки
F_openSub(this.i);
};
спасибо! последний листинг очень помог. :)
Правда появилась новая проблема, но это уже в другую тему. ;)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.