qq_0_165
2017-12-27 15:52
这个回调函数不设置任何参数,但是 this会设成将要执行动画的那个DOM元素,如果多个元素一起做动画效果,那么要非常注意,回调函数会在每一个元素执行完动画后都执行一次,而不是这组 动画整体才执行一次。 这句话什么意思啊?如何同时给多个元素设置同样的动画效果呢?
我刚刚测试了一下只要jQuery对象是多个元素就可以实现多个元素同时动画,回调函数会在动画结束后执行多次;
想要动画一个接一个动,可以把第二个动画放到第一个动画的回调函数里,之后的动画也可以一直这样嵌套。
function test(now,total){
if(now >= total){
return;
}
$(".a2:eq(" +now + ")") .slideDown(300,function(){
now ++;
test(now,total);
});
}
$("button:last").click(function() {
test(0,$(".a2").length);
});
如果想要让多个动画一起执行,回调只执行一次可以利用if语句判断一下,判断是否所有的动画都结束(例如:width=='500px'假设width要最终都变为500px),如果都结束了再执行回调。
jQuery基础(四)—动画篇
85049 学习 · 262 问题
相似问题