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