jQuery中setTimeout的幾種使用方法小結
更新時間:2013年04月07日 23:10:00 作者:
jQuery 中 setTimeout/setInterval 不能像在原生態(tài) javascript 中那樣使用, 否則會報錯.
我們通過例子來說明一下jQuery中setTimeout的幾種使用方法, 首先準備好測試用的DIV和公共函數(shù):
復制代碼 代碼如下:
<div id="div_debug"></div>
<script src="http://www.studyday.net/demo/jquery.js"></script>
<script language="JavaScript">
functionlog(s){
$('#div_debug').append(s+'<br>');
}
//下文中測試用的代碼可以放在這一行注釋的下面,替換掉 //...
//...
</script>
原生態(tài) javascript 中的 setTimeout 基本用法是像這樣子的.
復制代碼 代碼如下:
//原生態(tài) javascript 中的 setTimeout 基本用法
functionfunA(){
log('funA...');
setTimeout('funA()', 1000);
}
funA();
下面是jQuery中setTimeout的幾種使用方法. 在線實例
復制代碼 代碼如下:
//jQuery 中的用法
functionfunA(){
log('funA...');
setTimeout('funA()', 1000);
}
jQuery(document).ready(function($){
//用法1 : 把要調用的函數(shù)寫在ready外面,使它成為全局函數(shù)
funA();
//用法2 : 直接寫函數(shù)名,不能帶括號也不能帶引號,適合沒有參數(shù)的函數(shù)
functionfunB(){
log('funB...');
setTimeout(funB, 1000);
}
funB();
//用法3 : 通過調用匿名函數(shù)來執(zhí)行,適合有帶參數(shù)的函數(shù)
functionfunC(v){
log('funC...'+v);
setTimeout(function(){funC(v+1)}, 1000);
}
funC(1);
//用法4 : 通過在jQuery命名空間上增加函數(shù),適用面更廣
$.extend({
funD:function(v){
log('funD...'+v);
setTimeout("$.funD("+(v+1)+")",1000);
}
});
$.funD(100);
});
用法2和用法3的區(qū)別很明顯, 但用法3和用法4的區(qū)別在哪里呢?為什么說用法4比用法3適用面更廣呢?通過下面這個例子可以很直觀的明白二者的區(qū)別:
復制代碼 代碼如下:
jQuery(document).ready(function($){
//用法3 : 通過調用匿名函數(shù)來執(zhí)行,適合有帶參數(shù)的函數(shù)
functionfunC(v){
log('funC...'+v);
setTimeout(function(){funC(v+1)}, 1000);
}
//用法4 : 通過在jQuery命名空間上增加函數(shù),調用起來更方便
$.extend({
funD:function(v){
log('funD...'+v);
setTimeout("$.funD("+(v+1)+")",1000);
}
});
});
jQuery(document).ready(function($){
//funC(1); //去掉注釋后執(zhí)行這一句時會報錯
$.funD(100); //這一句是正常的, 明白兩者之間的區(qū)別了吧
});
您可能感興趣的文章:
相關文章
JQuery中attr方法和removeAttr方法用法實例
這篇文章主要介紹了JQuery中attr方法和removeAttr方法用法,實例分析了jQuery中attr方法設置屬性與removeAttr方法移除屬性的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05
jquery DataTable實現(xiàn)前后臺動態(tài)分頁
本篇文章主要介紹了jquery DataTable實現(xiàn)前后臺動態(tài)分頁。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

