jquery queue

来源:互联网 发布:python txt转xml 编辑:程序博客网 时间:2024/05/20 13:18

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 缓存系统把方法队列缓存起来

0 0