首頁 web前端 js教程 Javascript延迟执行实现方法(setTimeout)_javascript技巧

Javascript延迟执行实现方法(setTimeout)_javascript技巧

May 16, 2016 pm 06:12 PM
settimeout 延遲執行

1。延迟切换tab
需求:页面上有几个tab,切换tab的时候,会对某个特定区域的数据进行拉取更新。
弊端:用户从第一个tab切换一直快速切到尾,就会产生n个ajax请求。其实用户只是需要看到最后一个tab的数据。
复制代码 代码如下:

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请求不会执行,只有停顿500毫秒后,才会执行,500毫秒,其实蛮短的,基本上不会影响到用户体验。

2。延迟自动完成
需求:在文本输入框中,监听用户输入,实现自动完成功能。
弊端:用户每输入一个字符,都会产生一个ajax请求,如果用户连续输入了一长串内容,请求次数就很多,实际上,最后的那次,才是用户需要的。
代码与上面例子类似。

3。延迟滚动
需求:页面的广告,需要用户滚动到哪,就跟到哪。
弊端:用户滚动在底,触发了N次的让广告重新定位的函数。其实,只需要当用户停下的时候,才触发一次就足够了。
代码与1类似。

其实有很多这样这样的例子,有些事情,不需要马上去执行,可以延迟一点时间才执行,时间很短,不影响用户体验,又可以减少很多不必要的消耗。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php怎麼實現幾秒後執行一個函數 php怎麼實現幾秒後執行一個函數 Apr 24, 2022 pm 01:12 PM

實作方法:1、使用「sleep(延遲秒數)」語句,可延遲執行函數若干秒;2、使用「time_nanosleep(延遲秒數,延遲納秒數)」語句,可延遲執行函數若干秒和奈秒;3、使用「time_sleep_until(time()+7)」語句。

settimeout和setinterval有什麼差別 settimeout和setinterval有什麼差別 Aug 15, 2023 pm 02:06 PM

settimeout和setInterval的區別:1、觸發時間,settimeout是一次性的,它在設定延遲時間之後執行一次函數,而setinterval是重複性的,它會以設定的時間間隔重複執行函數;2、執行次數,settimeout只執行一次,而setinterval會一直重複執行,直到被取消。

jQuery延遲執行的原因及作用探析 jQuery延遲執行的原因及作用探析 Feb 27, 2024 pm 04:42 PM

jQuery是一款受歡迎的JavaScript庫,其提供了豐富的功能和方法,大大簡化了JavaScript程式碼的書寫和程式設計流程。在使用jQuery的過程中,我們經常會遇到需要延遲執行某些操作的情況,而這種延遲執行在實際開發中有著重要的作用。本文將探討jQuery延遲執行的原因及作用,並提供具體的程式碼範例。一、為什麼需要延遲執行?在前端開發中,有時候我們需要等待

golang函數延遲執行的巧妙用法 golang函數延遲執行的巧妙用法 Apr 25, 2024 pm 02:21 PM

Go語言的延遲執行特性允許程式設計師在函數返回後執行函數呼叫。其主要用例包括:延遲初始化:延遲初始化大型物件或結構,直至需要時。後置處理:在函數返回後執行清理或後置處理操作。並發程式設計:安排在主goroutine之外運行的後台任務。

探討jQuery延遲執行的技術實現及優勢 探討jQuery延遲執行的技術實現及優勢 Feb 28, 2024 am 08:09 AM

jQuery是一款非常受歡迎的JavaScript庫,廣泛應用於網頁開發。在網頁開發過程中,經常會遇到需要延遲執行某些操作的情況,而jQuery提供了多種方法來實現延遲執行,本文將探討jQuery延遲執行的技術實現及其優勢。 1.使用setTimeout函數實作延遲執行setTimeout函數是JavaScript提供的一種計時器函數,可以在指定的時間間隔後

在JavaScript中使用clearTimeout函數取消setTimeout的計時器 在JavaScript中使用clearTimeout函數取消setTimeout的計時器 Nov 18, 2023 am 08:05 AM

在JavaScript中使用clearTimeout函數取消setTimeout的計時器,需要具體程式碼範例在JavaScript中,setTimeout函數是用來在指定的時間延遲後執行一次特定的程式碼。而setInterval函數則是用來在指定的時間間隔內重複執行一段特定的程式碼。然而,在某些情況下,我們可能需要在定時器執行之前取消它。在這種情況下,就可以使用c

setTimeout()和setInterval()在JavaScript中有什麼不同? setTimeout()和setInterval()在JavaScript中有什麼不同? Sep 01, 2023 pm 03:01 PM

setTimeout(function,duration)-該函數在duration毫秒後呼叫函數。這適用於一次執行。讓我們來看一個例子-它等待2000毫秒,然後運行回呼函數alert('Hello')-setTimeout(function(){alert('Hello');},2000);setInterval(function,uration)-此函數在每duration毫秒後呼叫function。這可以無限次進行。讓我們來看一個例子-它每2000毫秒觸發一次警

為什麼jQuery需要延遲執行?解析與實踐 為什麼jQuery需要延遲執行?解析與實踐 Feb 27, 2024 pm 06:12 PM

為什麼jQuery需要延遲執行?解析與實務在前端開發中,jQuery是一個被廣泛使用的JavaScript函式庫,它簡化了DOM操作、事件處理、動畫效果等功能,為開發者提供了便利。然而,有時我們會發現一些問題,即在特定情況下,jQuery需要延遲執行才能達到我們預期的效果。本文將從原理和實踐兩個方面解析為什麼jQuery需要延遲執行,並提供具體的程式碼範例。一、

See all articles