在前端開發中會有使用者行為會頻繁的觸發事件,比如瘋狂的點選。對於dom操作,資源的載入等耗費效能的處理可能會導致介面的卡頓,甚至瀏覽器崩潰。函式節流防抖就是為了解決類似的問題產生的。
函式節流就是預定乙個函式只有在大於等於執行週期時才執行,週期內呼叫不執行。就像水滴到攢到一定重量才會滴落。
html部分有乙個點選按鈕,當點選的時候會顯示點選的次數。
<div
id="div"
>0
div>
<
button
id="btn"
>搶
button
>
script部分在點選時候限制在1秒鐘只能點選一次
var div = document.getelementbyid("div");
var btn = document.getelementbyid("btn");
functionthrottle(handle,wait)}}
function
buy(e)
btn.onclick = throttle(buy,1000)
html 部分是乙個輸入框
<input
type
="text"
id="inp"
>
script部分是防抖**,一秒鐘以後才會搜尋
var inp = document.getelementbyid("inp");var timer = null
;
function
ajax()
inp.oninput = function
(),1000)
}
防抖和節流 什麼是防抖和節流
目錄二 節流 有這樣一種情況,想象有乙個表單,點選提交按鈕就傳送請求給伺服器。如果使用者在很短的時間間隔內 手抖 點選了多次,又或者是惡意點選,那麼就將傳送多個請求。該行為將造成伺服器額外的不必要負載。所謂防抖,實際上就是是處理這種常見的情況的描述。submit該段 當點選submit按鈕的時候,將...
防抖和節流
在前端開發過程中,我們經常需要繫結一些持續觸發事件,如 resize scroll mousemove等等,但有些時候我們並不希望在事件持續觸發的過程中那麼頻繁的去執行函式。通常這種情況下,我們怎麼去解決呢?一般來講,防抖和節流是比較好的解決方案。一 函式的防抖 1 什麼是函式防抖 函式防抖 deb...
防抖和節流
防抖和節流的作用都是防止函式多次呼叫。區別在於,假設乙個使用者一直觸發這個函式,且每次觸發函式的間隔小於設定的時間,防抖的情況下只會呼叫一次,而節流的情況會每隔一定時間呼叫一次函式。1.防抖 函式防抖 debounce n秒內函式只會執行一次,如果n秒內高頻事件再次被觸發,則重新計算時間。如下例,對...