为了账号安全,请及时绑定邮箱和手机立即绑定

如何同时给多个元素设置同样的动画效果呢?

这个回调函数不设置任何参数,但是 this会设成将要执行动画的那个DOM元素,如果多个元素一起做动画效果,那么要非常注意,回调函数会在每一个元素执行完动画后都执行一次,而不是这组 动画整体才执行一次。 这句话什么意思啊?如何同时给多个元素设置同样的动画效果呢?

正在回答

3 回答

我刚刚测试了一下只要jQuery对象是多个元素就可以实现多个元素同时动画,回调函数会在动画结束后执行多次;

想要动画一个接一个动,可以把第二个动画放到第一个动画的回调函数里,之后的动画也可以一直这样嵌套。

3 回复 有任何疑惑可以回复我~
#1

qq_0_165 提问者

非常感谢!
2018-01-03 回复 有任何疑惑可以回复我~

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);

        });



0 回复 有任何疑惑可以回复我~

如果想要让多个动画一起执行,回调只执行一次可以利用if语句判断一下,判断是否所有的动画都结束(例如:width=='500px'假设width要最终都变为500px),如果都结束了再执行回调。

0 回复 有任何疑惑可以回复我~
#1

qq_0_165 提问者

非常感谢!
2018-01-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何同时给多个元素设置同样的动画效果呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信