Код внутри массива.
Вот код из книги фленагана.
<! Это анимируемый элемент div > <div id="urgent"><h1>Внимание!</h1>Веб сервер атакован!</div> <script> var e = document.getElementById("urgent"); // Получаем объект Element e.style.border = "solid black 5px"; // Рамка e.style.padding = "50px"; // И отступ var colors = ["white", "yellow", "orange", "red"] // Перебираемые цвета var nextColor = 0; // Текущая позиция перебора // Вызывать следующую функцию с интервалом 500 миллисекунд // для изменения цвета рамки. setInterval(function() { e.style.borderColor=colors[nextColor++%colors.length]; }, 500); </script> Все здесь вроде бы просто и понятно кроме одного момента colors[nextColor++%colors.length], объясните попдробнее пожалуйста, что здесь происходит, по идее должна добавляться переменная массива а здесь идет выполнение кода словно в цикле. |
Увеличиваем nextColor на один, берем остаток от деления на длину массива. Получившееся число - индекс в массиве. Просто способ такой.
|
Это я понимаю. Я просто был удивлен что в массиве "nextColor++%colors.length" , теперь понял что это равносильно доступа к элементу по colors[i] где i= nextColor++%colors.length. Теперь осталось легкое удивление с радостью от того насколько гибок язык.
|
а я что-то не понял =( Просто если идти последовательно:длина массива-3,nextColor-0,получается:0++(1)далее берем остаток от деления 1/3 О_о и какой тоода получится индекс массива?
|
Ну во-первых 0++ - это ещё 0, а во вторых:
alert(1%3) |
хм...а почему 0++ все равно 0?
А так спасибо,понял. |
|
Цитата:
|
Цитата:
|
всем =)... Но вот если бы вы так сразу бы написали,было бы еще понятнее)
|
Часовой пояс GMT +3, время: 05:45. |