通過實例講解JS如何防抖動
前言
這道題目經(jīng)常與事件觸發(fā)器同時存在,為了考察面試者在一些具體業(yè)務(wù)流程上(信息流,搜索框輸入查詢)等,能否綜合的考慮實現(xiàn)思路。
題目
在某些信息列表中一般采用瀑布流,滾動一屏?xí)r加載相應(yīng)的數(shù)據(jù),請思考如何避免連續(xù)下拉時而產(chǎn)生的問題(可能是頁面崩潰,也可能是巨卡無比)。
一般情況下,如果碰到這樣的面試題,防抖動機制,就能很好的解決,這方面最早的應(yīng)用實踐還是Twitter,開發(fā)者寫了一篇博客,詳細的闡述了如何解決這樣的問題。那么,說到防抖動,其核心內(nèi)涵在于延遲處理,也就是將一系列的事件處理程序全部延遲,保障推送進來的第一次事件處理。
event.on('scroll', function(e){ var fun; return function(){ if(fun) clearTimeout(fun); fun = setTimeout(function(){ // console.log('1') },500); } }());
這是最常見的一種方式,如果scroll的次數(shù)較多時,可以先將真實的函數(shù)放置在定時器中。
接下來我們將它抽象一下:
function de(something,delay){ var fun; return function(){ if(fun) clearTimeout(fun); fun = setTimeout(function(){ something(); },delay); } } function scrollToList(){ } event.on('scroll', de(scrollToList,1000)) event.on('scroll', de(scrollToList,2000))
顯然這是一個弱爆了的處理,那有沒有更好的方式呢?有,比如節(jié)流。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript函數(shù)防抖動debounce
- JavaScript運動框架 解決防抖動問題、懸浮對聯(lián)(二)
- JavaScript中防抖和節(jié)流的區(qū)別及適用場景
- JavaScript中防抖和節(jié)流的實戰(zhàn)應(yīng)用記錄
- JavaScript深入理解節(jié)流與防抖
- JavaScript防抖與節(jié)流的實現(xiàn)與注意事項
- JavaScript的防抖和節(jié)流一起來了解下
- JavaScript中函數(shù)的防抖與節(jié)流詳解
- javascript的防抖和節(jié)流你了解嗎
- 淺談JavaScript節(jié)流與防抖
- 關(guān)于JavaScript防抖與節(jié)流的區(qū)別與實現(xiàn)
- JavaScript防抖與節(jié)流詳解
- JavaScript 防抖和節(jié)流詳解
- JavaScript防抖動與節(jié)流處理
相關(guān)文章
js遍歷map javaScript遍歷map的簡單實現(xiàn)
下面小編就為大家?guī)硪黄猨s遍歷map javaScript遍歷map的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼
這篇文章主要介紹了js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05關(guān)于layui 實現(xiàn)點擊按鈕添加一行(方法渲染創(chuàng)建的table)
今天小編就為大家分享一篇關(guān)于layui 實現(xiàn)點擊按鈕添加一行(方法渲染創(chuàng)建的table),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09js動態(tài)設(shè)置select下拉菜單的默認選中項實例
今天小編就為大家分享一篇js動態(tài)設(shè)置select下拉菜單的默認選中項實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08實用Javascript調(diào)試技巧分享(小結(jié))
這篇文章主要介紹了實用Javascript調(diào)試技巧分享(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06