javascript函式節流程式碼例項分享
先通過一個操作來說明函式節流的重要性。
resize事件可能大家都不陌生,具體可以參閱javascript resize事件一章節。
當調整視窗大小的時候,要不斷的執行事件處理函式,這是非常耗費效能的,那麼我們可以通過一定的方式,在不影響效果的情況下,來儘可能的減少執行的次數。下面是一個能夠實現此功能的程式碼例項:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> var throttle = function (fn, interval) { var timer, firstTime = true; return function() { var args = arguments, _this = this; if( firstTime ) { fn.apply( _this, args ); return firstTime = false; } if (timer) { return false; } timer = setTimeout(function(){ clearTimeout(timer); timer = null; fn.apply(_this, args) }, interval || 500) } } window.onload = function () { var count = 0; var odiv = document.getElementById("antzone"); window.onresize = throttle(function () { count = count + 1; odiv.innerHTML = count; }, 1000) } </script> </head> <body> <div id="antzone"></div> </body> </html>
當然我們無法真正的控制事件處理函式的執行頻率,但是我們可以控制事件處理函式中實際內容的執行頻次。
相關文章
- js冪函式程式碼例項分享JS函式
- 淺談javascript函式節流JavaScript函式
- javascript以函式方式提交表單程式碼例項JavaScript函式
- hasOwnProperty()函式程式碼例項函式
- javascript函式節流是什麼JavaScript函式
- JavaScript中函式防抖、節流JavaScript函式
- JavaScript 節流函式 Throttle 詳解JavaScript函式
- 淺談javascript的函式節流JavaScript函式
- javascript使用call()函式實現繼承程式碼例項JavaScript函式繼承
- javascript批量註冊事件處理函式程式碼例項JavaScript事件函式
- JavaScript刪除元素節點程式碼例項JavaScript
- 函式節流throttle和debounce程式碼演示函式
- javascript之函式防抖與節流JavaScript函式
- jQuery css()函式使用程式碼例項jQueryCSS函式
- 函式節流函式
- javascript定時器函式開始和結束程式碼例項JavaScript定時器函式
- 樣式初始化程式碼例項分享
- JavaScript 中函式節流和函式去抖的講解JavaScript函式
- js confirm()函式用法程式碼例項JS函式
- jquery的filter()函式用法程式碼例項jQueryFilter函式
- 原生ajax()函式封裝程式碼例項函式封裝
- js函式作為函式的引數程式碼例項JS函式
- javascript判斷奇數簡單程式碼例項分享JavaScript
- javascript的for in例項程式碼JavaScript
- javascript常用的正規表示式程式碼例項JavaScript
- 函式節流與函式防抖函式
- 函式防抖和函式節流函式
- js DSL流暢介面(使用鏈式呼叫)例項程式碼JS
- JavaScript in運算子程式碼例項JavaScript
- javascript操作xml程式碼例項JavaScriptXML
- JavaScript confirm() 程式碼例項JavaScript
- javascript Function()使用程式碼例項JavaScriptFunction
- JavaScript dom操作程式碼例項JavaScript
- javascript委託程式碼例項JavaScript
- javascript階乘程式碼例項JavaScript
- js模擬實現replaceAll()函式程式碼例項JS函式
- 區分函式防抖&函式節流函式
- JS函式節流和函式防抖JS函式