Из-за цикла не работает анимация
Здравсвуйте
Есть код анимации
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, время: 01:31. |