新手提问 jquery 函数执行顺序的问题

2025-12-06 07:36:31
推荐回答(2个)
回答1:

你好!!


当以回调的形式应用动画方式时,动画是按照回调顺序发生的。


可以写个函数,来实现这个功能···

$(document).ready(function () {
       //obj为执行动画的元素,opt为执行的动画,time为时间
       function yourAnimate(obj,opt,time){
              obj.animate(opt,time || "normal",function(){
                    //在动画的回调函数中判断是否存在下一个元素,有则继续执行动画
                    if(obj.next().length){
                        yourAnimate(obj.next(),opt,time);
                    }
              });
       }
       
       //调用: 只要在img的第一个元素上执行就好了
       yourAnimate($("#pic img:eq(0)"), {left:'-400px'}, 3000);
});

上面的方法,可以实现你想要的顺序执行动画的功能,但是没有考虑,当元素中的动画有不同变化的情况(可以自己扩展一下)。


最后说一下,例子中的动画顺序执行是在一个元素上编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。


希望对你有帮助!!

回答2:

实例1 div是同一个元素,这个animate动画都是针对一个元素操作,所以看起来是队列操作哦。
希望能帮到您!