выполнение функции перед анимацией
Доброго времени суток, кто читает эту тему. Столкнулся с такой проблемой: нужно выполнить функцию перед самой анимацией.
Пробую так:
$('#car'+z).animate({'margin-left': 12, 'margin-top': 12 },time, function() {
var dx = x1-x;
alert('123');
});
Но функция выполняется полсе анимации и не пойму еще почему не выводит "123". |
natureproj,
так и ставьте вашу функцию перед анимацей :-? |
Дело в том что у меня цикл. Суть кода такая: катается машинка и на поворотах меняется направление и соответственно сама картинка.
Весь код такой, на примере х кординаты:
var steptop =72;
var stepleft =100;
var top0=293;
var left0=20;
function car(z)
{
var x = Math.floor(Math.random()*10);
x= x - Math.floor(x/4)*4;
var y = Math.floor(Math.random()*10);
y= y - Math.floor(y/4)*4;
$('#car'+z).css('margin-top', top0 - x*steptop + y*steptop);
$('#car'+z).css('margin-left',left0 + x*stepleft + y*stepleft);
var i =0;
while(i<10)
{
var x1 = Math.floor(Math.random()*10);
var time = 1000*Math.abs(x1-x);
$('#car'+z).animate({'margin-left': left0+ x1*stepleft + y*stepleft, 'margin-top': top0 - x1*steptop + y*steptop },time, function()
{
var dx = x1-x;
if(dx<=0)
{
$('#car'+z).attr("src","/images/carlb.png");
}
else
{
$('#car'+z).attr("src","/images/carrt.png");
}
});
x=x1;
i++;
}
}
Если просто поставить функию перед анимацией - она вызовется в цикле сразу 10 раз и все. |
Цитата:
|
этот цикл на повороты одной машинки. Дальше функци car() вызывается 10 раз и тогда катается 10 машинок
|
natureproj,
вот тут тоже машинка катается и поворачивает http://javascript.ru/forum/events/40653-ispolzovanie-%24-deferred-so-storonnimi-plaginami-jquery.html#post267760 а здесь так даже человечек дорогу перебегает перед машинами http://learn.javascript.ru/play/l9hKp может на какие мысли натолкнут |
| Часовой пояс GMT +3, время: 22:14. |