выполнение функции перед анимацией
Доброго времени суток, кто читает эту тему. Столкнулся с такой проблемой: нужно выполнить функцию перед самой анимацией.
Пробую так: $('#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, время: 06:50. |