每个 Jquery 后触发函数
trigger function after each Jquery
var delay = 0;
var interval = 1000;
var reload = function() {
setTimeout(function(){
$('.bl').each(function(i){
$(this).delay(delay).animate({
height: '150px'
},500);
delay += interval;
});
},interval);
setInterval(reload,delay);
大家好,方块全部出现后无法隐藏。
这是一个不使用计时器的示例,仅使用从每个元素的动画队列返回的动画承诺:
var interval = 1000;
var reload = function () {
var delay = 0;
var promise; // "Undefined" equates to an initial resolved promise
$('.bl').css({
height: 0
}).each(function (i) {
// chain promises in parallel using repeated $.when calls
promise = $.when(promise, $(this).delay(delay).animate({
height: '150px'
}).promise());
delay += interval;
});
// When all animation promises complete, start the process pseudo-recursively
promise.then(reload);
}
reload();
JSFiddle: http://jsfiddle.net/TrueBlueAussie/rtuLzc6t/
唯一偷偷摸摸的是我使用 promise = $.when(promise, newpromise)
并行链接承诺。循环的最终结果是在所有动画结束时完成的单一承诺。最后的 then
使其递归。
var delay = 0;
var interval = 1000;
var reload = function() {
setTimeout(function(){
$('.bl').each(function(i){
$(this).delay(delay).animate({
height: '150px'
},500);
delay += interval;
});
},interval);
setInterval(reload,delay);
大家好,方块全部出现后无法隐藏。
这是一个不使用计时器的示例,仅使用从每个元素的动画队列返回的动画承诺:
var interval = 1000;
var reload = function () {
var delay = 0;
var promise; // "Undefined" equates to an initial resolved promise
$('.bl').css({
height: 0
}).each(function (i) {
// chain promises in parallel using repeated $.when calls
promise = $.when(promise, $(this).delay(delay).animate({
height: '150px'
}).promise());
delay += interval;
});
// When all animation promises complete, start the process pseudo-recursively
promise.then(reload);
}
reload();
JSFiddle: http://jsfiddle.net/TrueBlueAussie/rtuLzc6t/
唯一偷偷摸摸的是我使用 promise = $.when(promise, newpromise)
并行链接承诺。循环的最终结果是在所有动画结束时完成的单一承诺。最后的 then
使其递归。