Показать сообщение отдельно
Старый 14.06.2007, 01:01
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 1  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
По умолчанию Задание обработчиков кнопок в цикле

Господа, подскажите пожалуйста:
есть цикл, в котором аттачю кнопки в мувик, и задаю им обработчики.


Код:
function initNav1() {
	var i = 0;
	while (i<menu.length) {
		var mc = mc_menu.attachMovie("nav1_item", "mc_nav1_item_"+i, int(i+100), {_x:i*100 ; _y:0});
		var bt = mc.attachMovie("button", "mc_bt_"+i, int(i+110));
		//описание кнопки
		bt.onRollOver = function() {
			mc.mc_text_on._alpha = 100;
			mc.mc_text._alpha = 0;
			trace(bt);
		};
		bt.onRollOut = function() {
			mc.mc_text_on._alpha = 0;
			mc.mc_text._alpha = 100;
		};
		i++;
	}
}
в результате на какую бы кнопку я не навожу я получаю трэйс - trace(bt), что это кнопка та, которая обрабатывалась данным циклом последней, и соответсвенно идет обработка mc тоже только последнего...

Т.е. я получаю i одинаковых кнопок, с одинаковыми индексами и одинаковой обработкой...

В чем здесь прокол?


Последний раз редактировалось Ведьмак; 14.06.2007 в 01:03.