概述:"一個處理函式會在延遲n秒后觸發,如果在n秒內再次觸發那么回重新計時;
<script>
var throttle = function(func, delay) {
// 存盤定時器id;
var timer = null
return function() {
// 判斷定時器是否在執行中;
if (timer) {
// 在每次開始之前清除以前的定時器;
clearTimeout(timer)
}
timer = setTimeout(function() {
func()
}, delay)
}
}
// 要進行處理的函式;
function handle() {
console.log(Math.random())
}
window.addEventListener('mousemove', throttle(handle, 1000))
</script>
優點:防止用戶由于過快的操作而發起的無用的請求;
使用場景:
1、淘寶的導航串列;
2、搜索框搜索輸入,只需用戶最后一次輸入完成,在發送請求;
3、瀏覽器的視窗大小改變后,只需視窗調整完成后,在執行
resize里面是代碼,防止重新渲染;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/148167.html
標籤:JavaScript
