欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript延遲執(zhí)行實(shí)現(xiàn)方法(setTimeout)

 更新時間:2010年12月30日 22:09:42   作者:  
延遲執(zhí)行,其實(shí)就是用到了setTimeout這個函數(shù)。善于利用這個函數(shù),可以減少很多ajax的請求,以及dom操作。
1。延遲切換tab
需求:頁面上有幾個tab,切換tab的時候,會對某個特定區(qū)域的數(shù)據(jù)進(jìn)行拉取更新。
弊端:用戶從第一個tab切換一直快速切到尾,就會產(chǎn)生n個ajax請求。其實(shí)用戶只是需要看到最后一個tab的數(shù)據(jù)。
復(fù)制代碼 代碼如下:

var changeTab = function(){
var timeId = 0;
return function(tabId){
if(timeId){
clearTimeout(timeId);
timeId=0;
}
setTimeout(function(){
//ajax do something
},500);
};
}();

一個比較簡單的例子,綁定在tab上的onmouseover,如果用戶不停的來回切換tab,ajax請求不會執(zhí)行,只有停頓500毫秒后,才會執(zhí)行,500毫秒,其實(shí)蠻短的,基本上不會影響到用戶體驗(yàn)。

2。延遲自動完成
需求:在文本輸入框中,監(jiān)聽用戶輸入,實(shí)現(xiàn)自動完成功能。
弊端:用戶每輸入一個字符,都會產(chǎn)生一個ajax請求,如果用戶連續(xù)輸入了一長串內(nèi)容,請求次數(shù)就很多,實(shí)際上,最后的那次,才是用戶需要的。
代碼與上面例子類似。

3。延遲滾動
需求:頁面的廣告,需要用戶滾動到哪,就跟到哪。
弊端:用戶滾動在底,觸發(fā)了N次的讓廣告重新定位的函數(shù)。其實(shí),只需要當(dāng)用戶停下的時候,才觸發(fā)一次就足夠了。
代碼與1類似。

其實(shí)有很多這樣這樣的例子,有些事情,不需要馬上去執(zhí)行,可以延遲一點(diǎn)時間才執(zhí)行,時間很短,不影響用戶體驗(yàn),又可以減少很多不必要的消耗。

相關(guān)文章

最新評論