jWaitjQuery 延遲插件
jWait,a jquery plugin ,which provide a easy way to delay your work。
jQuery(zepto) 插件,把各種延遲串聯(lián)起來,采用管道式寫法 — 為了少寫幾個 setTimeout。
示例代碼
原來
setTimeout(function (){
$('#b_1').addClass('active');
},1000);
現(xiàn)在
$('#b_1').jWait(1000).addClass('active');
原來
setTimeout(function (){
$('#b_1').addClass('active');
setTimeout(function (){
$('#b_2').css({color:red});
},1000);
},1000);
==> 現(xiàn)在
$('#b_1').jWait(1000)
.addClass('active')
.jWait(1000)
.jWait('#b_2').css({color:red});
原來
function doSth(){
//...
}
setTimeout(function (){
$('#b_1').addClass('active');
doSth();
setTimeout(function (){
doSth();
$('#b_2').css({color:red});
},1000);
},1000);
==> 現(xiàn)在
function doSth(){
//...
}
$('#b_1').jWait(1000)
.addClass('active')
.jWait(doSth)
.jWait(1000)
.jWait(doSth)
.jWait('#b_2').css({color:red});
簡單圖解
$('#b_1').jWait(1000)
.addClass('active') //$('#b_1').addClass('active')
.jWait(1000)
.fadeIn() //$('#b_1').fadeIn()
.jWait('#b_2')//修改代理的對象為 $('#b_2')
.jWait(1000)
.css({color:'red'})//$('#b_2').css({color:'red'})
.jWait(function (){
//這里獲取當前代理對象 this ==> $('#b_2')
console.log(this.css('color'));
})
.jWait(console)//修改代理的對象為 console
.log('hello') //console.log('hello')
.error('error');//console.error('error');
參數(shù)
/**
** @param waitObj 綁定對象可以是 (數(shù)字,字符串,對象,方法)
* 1.數(shù)字 表示延遲的時間(單位:毫秒)
* 2.字符串 查詢字符串querySelector,表示切換代理的對象為查詢字符串代表的jquery對象
* 3.對象 代理的對象,表示切換代理的對象
* 4.方法 延遲后執(zhí)行的函數(shù),如果沒有延遲,則直接執(zhí)行
** @param callback 回調方法,只有當waitObj是數(shù)字類型時有效
* @returns {jWaitProxy} 返回一個執(zhí)行代理對象,一個神奇的對象
*/
$.fn.jWait = function (waitObj, callback) { //.... }評論
圖片
表情
