jquery queue()队列学习

http://www.cnblogs.com/snandy/archive/2013/02/18/2892749.html

先看例子入门

function cb1() {alert(1)}
function cb2() {alert(2)}
var arr = [cb1, cb2];
 
$.queue(el, 'mx', cb1); // 第三个参数为function
$.queue(el, 'xm', arr); // 第三个参数为数组

//cbs1 和 cbs2是存着方法名的数组
var cbs1 = $.queue(el, 'mx'); // [cb1]
var cbs2 = $.queue(el, 'xm'); // [cb1, cb2]
function ff1() {console.log(1)}
function ff2() {console.log(2)}
function ff3() {console.log(3)}
 
var $p = $('p');
$p.queue('mx', ff1);
$p.queue('mx', ff2);
$p.queue('mx', ff3);
var queue = $p.queue('mx'); // [ff1, ff2, ff3]
function ff1() {console.log(1)}
function ff2() {console.log(2)}
function ff3() {console.log(3)}
 
var p = $('p')[0];
$.queue(p, 'mx1', ff1);
$.queue(p, 'mx1', ff2);
$.queue(p, 'mx1', ff3);
 
// 每2秒调用一次$.dequeue,依次输出1,2,3
setInterval(function() {
	//$.dequeue()从队列最前端移除一个队列函数,并执行他。
    $.dequeue(p, 'mx1')
}, 2000);
回调函数的上下文是dom元素,参数是next函数和hooks对象
var p = $('p')[0];
function func(next, hooks) {
   console.log(this);
   console.log(next);
   console.log(hooks);
}
$.queue(p, 'mx', func);
$.dequeue(p, 'mx');

相关推荐