摘要:網上搜了下高級程序設中有專門應對此問題的函數節流原理很簡單,利用定時器,讓函數執行延遲毫秒,在毫秒內如果有函數又被調用則刪除上一次調用,這次調用毫秒后執行,如此往復這樣就實現了想要的效果
現在javascript的用途 真的很廣,感覺什么事都可以做,比如做視頻監控,時刻看看你喜歡的人再做什么,哎呀媽呀,這可是犯法的,不行不行。
最近工作上遇到個需求,:一個原本是pc端框架配置的需求,現在領導突然急著要,讓我從pc端兼容移動的大小,瞬間腦殼疼,由于用的都是px單位,不好真疼,然后就想到根據瀏覽器窗口改變的時候需要改一些頁面元素大小 原大小
配置成移動的的時候
function resizehandler(){
console.log(new Date().getTime()); console.log(++n);
}
然后我試著拖拽窗口,看了下控制臺居然打印了50幾次,這并不是我想要的,作為一個合理的代碼,是只需要執行一次的,可能函數里面的代碼很復雜,但卻是我想要的。
網上搜了下JavaScript高級程序設 中有專門應對此問題的函數節流
原理很簡單,利用定時器,讓函數執行延遲500毫秒,在500毫秒內如果有函數又被調用則刪除上一次調用,這次調用500毫秒后執行,如此往復
let n=0;
function resizehandler(){
console.log(new Date().getTime()); console.log(++n);
}
function fn(cb,context){
clearTimeout(cb.Tid); cb.Tid=setTimeout(function(){ cb.call(context); },500);
}
window.onresize=function(){
fn(resizehandler,window);
};
這樣就實現了想要的效果
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/117380.html
摘要:函數節流和去抖的出現場景,一般都伴隨著客戶端的事件監聽。函數節流的核心是,讓一個函數不要執行得太頻繁,減少一些過快的調用來節流。 概述 也是好久沒更新 源碼解讀,看著房價蹭蹭暴漲,心里也是五味雜陳,對未來充滿恐懼和迷茫 ...(敢問一句你們上岸了嗎) 言歸正傳,今天要介紹的是 underscore 中兩個重要的方法,函數節流和函數去抖。這篇文章不會涉及具體的代碼實現(關于代碼實現請期...
摘要:今天和別人聊到函數的節流和防抖,發現自己對這兩個的區別很是模糊,遂小小實踐一下,在此記錄,希望對需要的人有所幫助。防抖實現順利,但是兩個節流方法的執行結果存在差異。 今天和別人聊到JavaScript函數的節流和防抖,發現自己對這兩個的區別很是模糊,遂小小實踐一下,在此記錄,希望對需要的人有所幫助。 節流 - 頻繁操作,間隔一定時間去做一件事 舉例說明:假定時間間隔為 500ms,頻繁...
摘要:每次鼠標移動都是這樣的處理過程,直到鼠標不再移動一秒鐘后,定時器中的函數才被使用。 函數節流的原理 函數節流,就是對會頻繁觸發的函數事件做一些限制,讓這些函數可以在每隔一定的時間或者每次滿足一定的條件下再觸發。一般我們會給他起一個名字throttle。也就是節流的意思。一般這樣的函數有 resize事件、ontouchmove事件等。 舉個簡單的例子 測試函數節...
摘要:網上搜了下高級程序設中有專門應對此問題的函數節流原理很簡單,利用定時器,讓函數執行延遲毫秒,在毫秒內如果有函數又被調用則刪除上一次調用,這次調用毫秒后執行,如此往復這樣就實現了想要的效果 現在javascript的用途 真的很廣,感覺什么事都可以做,比如做視頻監控,時刻看看你喜歡的人再做什么,哎呀媽呀,這可是犯法的,不行不行。 最近工作上遇到個需求,:一個原本是pc端框架配置的需求,現...
閱讀 2415·2021-11-25 09:43
閱讀 1195·2021-09-07 10:16
閱讀 2602·2021-08-20 09:38
閱讀 2936·2019-08-30 15:55
閱讀 1448·2019-08-30 13:21
閱讀 883·2019-08-29 15:37
閱讀 1435·2019-08-27 10:56
閱讀 2093·2019-08-26 13:45