queue 队列

介绍:函数在排队,就是第一个执行完了,第二个才会开始执行,依次,后面都一样,不会混乱。

1、queue方法

在匹配的元素上创建函数队列,(替换已有队列),或向函数队列中添加函数。

1.1、怎么在匹配的元素上创建新队列

jquery对象.queue(队列名,函数数组);

$(document).queue("xlj",[
     function(){
         console.log("我是第1个函数~");
     },
     function(){
          console.log("我是第2个函数~");
     },
     function(){
          console.log("我是第3个函数~");
     }
]);

1.2、执行队列中的函数。

jquery对象.dequeue(队列名);

执行匹配元素的下一函数。

$(document).dequeue("xlj");   //输出 我是第1个函数~
        

我们也可以这样让函数数组中的每一函数依次执行。

$(document).queue("xlj",[
    function(next){
        console.log("我是第1个函数~");
        next();
    },
    function(next){
        console.log("我是第2个函数~");
        next();
    },
    function(){
        console.log("我是第3个函数~");
    }
]);

$(document).dequeue("xlj");

这样就可以输出三条语句,参数next 并调用它就是让执行队列中的下一个函数。

1.3、向已有队列中继续添加函数

jquery对象.queue(队列名,新函数);

$(document).queue("xlj",function(next){
    console.log("我是第4条函数~");
    next();
});

1.4、替换已有队列

jquery对象.queue(已有队列名称,函数数组);

$(document).queue("xlj",[
    function(){
        console.log("今天星期四~");
    }
]);

这样的话,前面的队列函数就被覆盖了。

1.5、获取,指定元素上指定队列中函数的个数(包括正在执行的方法)

jQuery对象.queue('已有的队列名称').length;
正在执行的动画方法显示形式为:"inprogress"

2、clearQueue方法

从列队中移除所有未执行的项

clearQueue( [queueName ] )
queueName:一个含有队列名的字符串。默认是fx,标准的效果队列
当clearQueue()方法被访问的时候,所有在这个列队中未执行的函数将被移除 。
这个方法类似stop(true)然而stop()方法只适用在动画中,clearQueue()还可以用来移除用queue()方法添加到队里中的任何函数。

原文地址:https://www.cnblogs.com/xlj-code/p/6772670.html