jquery queue

jquery equeue 用来缓存调用方法队列,对于需要按顺序执行的方法场景非常有效,例如动画,需要在上一个动画完成之后,执行下个动画动作或者回调函数

1.方法queue,dequeue,clearQueue

function fn1(){
  console.log("fn1 invoke");
};
function fn2(){
  console.log("fn2 invoke");
};
function fn3(){
  console.log("fn3 invoke");
};
var fnarr = [fn1,fn2,fn3];
//$(select).queue(key,arr) //将一系列动作绑定key为"fns"的队列上,内部的原理是利用jq的缓存系统,再将该队列附到选择器选择的节点上缓存起来
$(document).queue("fns",fnarr); 

//$(select).queue(key)  //通过key来获取缓存队列
console.log$(document).queue("fns").length);

//$(select).dequeue(key) //通过key获取队列,并弹出该队列的一个方法进行执行,按照队列先进先出的原则
$(document).dequeue("fns") //调用一次dequeue,将队列弹出一个方法进行执行

           //$(select).dequeue(key,fn) //将一个函数插入到队列的列尾,还未执行
           .queue("fns",function(){
              console.log("fn4 invoke");
           })
           .dequeue("fns")
           .dequeue("fns")
           .dequeue("fns"); //执行这个将输出"fn4 invoke"

2.原理

内部建一个数组队列,提供一个key,然后方法缓存对象中,再赋值到提供给的dom节点上,其实就是利用jquery data 缓存系统把方法队列缓存起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值