Из-за цикла не работает анимация
Здравсвуйте
Есть код анимации window.onload = function() { var distance = 1, speed = 0.5, li = document.getElementById("lists-r1").children, arrayCoords = [0, 26, 53, 78, 104, 130, 156, 182, 208, 234, 260], count = 1, i = 0, arrayCoordsMax = li.length; for(i; i <= arrayCoordsMax; i ++) { alert(li[i].offsetTop) } function animate() { distance = distance + speed; document.getElementById("playDiv-r1").style.top = distance + "px"; if(distance == arrayCoords[count]) { setTimeout(animate, 1500); count ++; }else setTimeout(animate, 10); if(distance == 260) speed = 0; }; animate(); }; </script> Сейчас анимация не работает, но если убрать цикл for, то все сразу заработает. В чем проблема, подскажите ? |
li = document.getElementTagName(имя тега но не ид); for(i; i <= arrayCoordsMax; i ++) { alert(li[i].offsetTop) } или потомков элемента нужно найти но в лбом развале это |
Уже разобрался.
|
Цитата:
|
Проблема возникла в другом, если я пишу ф-ю, как "немедленно вызываемую", то почему-то не работает анимация
window.onload = function() { var distance = 1, speed = 0.5, li = document.getElementById("lists-r1").children, count = 1, i = 0; (function() { distance = distance + speed; document.getElementById("playDiv-r1").style.top = distance + "px"; if(distance == li[count].offsetTop) { setTimeout(animate, 1500); count ++; }else setTimeout(animate, 10); if(distance == 260) speed = 0; }()); }; Вроде ф-я написанна правильно |
действительно,есть такое дело
|
Цитата:
|
Цитата:
|
Цитата:
|
нет не правильно. сначала закрывается скобка тело функции) ,затем её вызов().
|
Часовой пояс GMT +3, время: 10:17. |