如何利用JS防抖實現搜尋框優化

2021-10-06 23:09:40 字數 1126 閱讀 5767

什麼是js的防抖?

防抖指的是觸發事件後在n秒內函式只執行一次,若在n秒內再次觸發事件則重新計算,函式不會重複執行。

在實際專案中我們可能會碰到搜尋框會浪費大量的請求。比如我們有乙個input,每次使用者在搜尋框輸入的時候就觸發oninput事件然後傳送請求。

以下**是未優化前

優化後

let input = document.

getelementbyid

("input");

let num =1;

function

sendrequest()

// 我們想讓使用者輸入完畢後過1s後再查詢

// 所以我們使用防抖,設定乙個定時器,傳入要執行的函式,延時的時間

function

debounce

(fn, wait)

, wait);}

;}input.oninput =

debounce

(sendrequest,

2000

);

微信小程式如何實現搜尋框的防抖功能

1 首先給輸入框繫結乙個bindinput事件,只要輸入框內的值改變就會觸發該函式 placeholder 請輸入您要搜尋的內容 bindinput handleinput input 2 定義乙個變數timeid,該值為定時器的返回值,作用是方便等會兒清除定時器。3 在handleinput函式中...

js優化之防抖節流

應用場景 搜尋框 滾動條的監聽事件處理,防止每輸入乙個字 滾動螢幕,都會觸發事件處理,造成效能浪費。短時間內大量觸發同一事件,只會執行一次函式,實現原理為設定乙個定時器,約定在xx毫秒後再觸發事件處理,每次觸發事件都會重新設定計時器,直到xx毫秒內無第二次操作 引數1為觸發事件函式,參2位延遲時間 ...

JS效能優化 防抖和節流

防抖和節流嚴格算起來應該屬於效能優化的知識,但實際上遇到的頻率相當高,處理不當或者放任不管就容易引起瀏覽器卡死。舉個例子吧 監聽滾動條的高度 需求很簡單,直接寫 function showtop window.onscroll showtop 但是!你會發現只要你一改變高度,它就會列印一次高度,隨便...