js jquery 同步 回调 队列
var _slideFun=[
//把要执行的动画依次放入一个数组,并且按顺序执行,同步
function(){$('.one').delay(500).animate({top:'+=270px'},500,_takeOne);}, //先执行
function(){$('.two').delay(300).animate({top:'+=270px'},500,_takeOne);}, //再执行,以此类推
function(){$('.three').delay(6300).animate({top:'+=270px'},500,_takeOne);},
function(){$('.four').delay(300).animate({top:'+=270px'},500,_takeOne);},
function(){$('.five').delay(300).animate({top:'+=270px'},500,_takeOne);},
function(){$('.six').delay(300).animate({top:'+=270px'},500,_takeOne);},
function(){$('.seven').delay(300).animate({top:'+=270px'},500,function(){
alert('按序落体运动结束! Yeah!');
});}
];
$('#demo').queue('slideList',_slideFun); //将所有的动作都放入到名字为'slideList'的队伍中,但是并没执行。
var _takeOne=function(){
$('#demo').dequeue('slideList'); //删除队伍slideList中的最前面的函数,并执行。
};
_takeOne();
$(':button').click(function(){
$(this).val('刷新重试').attr('disabled',true).css('color','#ccc');
//停止也可用载入空数组实现$('#demo').queue('slideList',[]);
$('#demo').clearQueue('slideList');//执行完函数后,就不执行后面函数了
});