Я пишу подпрограмму на Javascript, которая перебирает все аудиоэлементы на HTML-странице. Все элементы отмечены идентификатором в виде «track_[nr]», и каждый из них имеет настраиваемую кнопку, которая переключает воспроизведение/паузу, отмеченную идентификатором «control_[nr]».
Теперь я хочу автоматизировать событие onclick для каждого элемента управления, перебирая все элементы и назначая функцию onclick.
Я придумал следующий код, но цикл for ведет себя не так, как я ожидал.
«document.writeln(j)» всегда печатает 5 (в настоящее время у меня 5 аудиоэлементов), независимо от того, какой элемент управления я нажимаю. Я ожидаю, что он напишет «0», когда вы нажмете «control_0», «1» при нажатии на «control_1» и т. д.
Любая помощь высоко ценится!
<script type='text/javascript'>
var audio = new Array();
var ctrl = new Array();
var i = 0;
do {
audio[i] = document.getElementById('track_'+i), ctrl[i] = document.getElementById('control_'+i);
i++;
} while(audio[i-1]);
tracks=i-1;
for (var j = 0; j < tracks; j++) {
ctrl[j].onclick = function () {
document.writeln(j);
}
}
</script>
С Уважением
for
отсутствуют. - person KBN   schedule 23.03.2015