Цитата:
|
Сообщение от udaaff
bettrrr, если на ваше сообщение уже ответили не нужно его редактировать, создавайте новый пост.
 Код:
_root[buttonAttrib.id].onRelease = function () {
trace(buttonAttrib.url);
SWFAddress.setValue(buttonAttrib.url);
}
buttonAttrib -- это переменная которыю вы создаете при первой итерации, в последующих ее значение постоянно перезаписывается, следоватьельно, ваши функции, ссылки на которые вы записываете в обработчики, будут использовать последнее значение, которое запишется в buttonAttrib. Я предложил два действующих варианта, следовательно, ошибка в другом месте.
|
Вы ответили в процессе редактирования мною моего поста

.
Про buttonAttrib я понял, предварительно сломав себе мозг, т.к. я привык к другому поведению кода. Нажал на ссылку, заново выполнился скрипт и т.п. (разовое линейное выполнение кода). Если бы я такое написал на PHP, то всё бы прекрасно работало.
Я думал, что этот цикл создаст кучу кнопок, и каждой назначит обработчик, а в этот обработчик передаст (присвоит) ЗНАЧЕНИЕ переменной.
А оказалось, что в обработчик передаётся ссылка на область памяти, которая после отработки цикла, содержит последнее значение.
Второй способ не работает так, как мне это надо, т.к. у меня нет this.url, а первый работает, что мне не понятно.
поясните пожалуйста, чем для плеера отличаются ваш первый способ и мой? Т.е. почему в вашем способе используется значение переменной текущего шага цикла, а не последнее?