Мне трудно вызвать функцию обратного вызова после каждого итератора.
Вот пример:
<html>
<head>
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script type="text/javascript" src="move.js"></script>
</head>
<body>
<div>
<div class="ani" style="position:relative; display: inline-block; top:10px; left:0px; width:30px; height:30px; background:#ddd;"></div>
<div class="ani" style="position:relative; display: inline-block; top:10px; left:110px; width:30px; height:30px; background:#ddd;"></div>
<div class="ani" style="position:relative; display: inline-block; top:10px; left:210px; width:30px; height:30px; background:#ddd;"></div>
<div class="ani" style="position:relative; display: inline-block; top:10px; left:310px; width:30px; height:30px; background:#ddd;"></div>
</div>
</body>
</html>
$(document).ready(function(){
$ani = $('div.ani');
var redFlash = function(){
$ani.eq(0).css('background-color','#e35');
};
var goingDown = function(){
$ani.each(function(i){
$(this).animate({'top':'100px'}, (i+1)*2000);
}),redFlash()};
goingDown();
});
redFlash Функция не вызывается, хотя.Я также пытался:
var goingDown = function(){
$ani.each(function(i){
$(this).animate({'top':'100px'}, (i+1)*2000);
}),function(){
$ani.eq(0).css('background-color','#e35');
};
};
безрезультатно.
Как заставить запуск RedFlash после всей анимации внутри каждый итератор завершен?Есть ли способ, которым я могу сделать goingDown обратный вызов redFlash после завершения анимации?
Кроме того, кто-нибудь знает какие-либо хорошие онлайн-ресурсы или книги для javascript / jqueryфункции обратного вызова?Книга, которая у меня есть, немного ненадежна по этой теме.
Редактировать: Решено с помощью указателя Пойнти на счетчиках.
$(document).ready(function(){
$ani = $('div.ani');
var redFlash = function(){
$ani.eq(0).css('background-color','#e35');
};
var ani_size = $ani.length-1;
console.debug(ani_size);
var goingDown = function(){
$ani.each(function(i){
$(this).animate({'top':'100px'}, (i+1)*2000, function(){
console.debug(i);
if (i == ani_size){
redFlash();
}
});
});
};
goingDown();
});