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

来源:2-1 jQuery中下拉动画slideDown

qq_0_165

2017-12-27 15:52

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

写回答 关注

3回答

  • web前端小白进阶
    2017-12-27 20:14:53
    已采纳

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

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

    qq_0_1...

    非常感谢!

    2018-01-03 10:12:04

    共 1 条回复 >

  • Cortana_X
    2019-05-09 20:39:08

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

            });



  • web前端小白进阶
    2017-12-27 20:23:26

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

    qq_0_1...

    非常感谢!

    2018-01-03 10:13:03

    共 1 条回复 >

jQuery基础(四)—动画篇

jQuery基础教程动画篇,讲解jQuery基础开启动画修炼

85058 学习 · 262 问题

查看课程

相似问题