<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>防抖函数示例</title>
<div style="width: 400px;height: 400px;background-color: red;font-size: 30px; text-align: center; line-height: 200px;"></div>
</head>
<body>
<script>
const debounce=function(fn, delay){
let timer = null;
return function(){
if(timer){
clearTimeout(timer);
}
timer = setTimeout(()=>{
fn.apply(this, arguments);
}, delay)
}
}
const test = function(name) {
let count = 0;
return debounce(function () {
document.querySelector('div').innerHTML = count ++;
}, 400)
}
document.querySelector('div').addEventListener('mousemove', test('张三'))
</script>
</body>
</html>
鼠标滑动div内部,停止才触发事件。