函数写法
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>函数节流和函数防抖</title>
<style>
.demo {
width: 200px;
height: 200px;
border: 1px solid red;
overflow-y: scroll;
margin-top: 50px;
}
.scroll {
height: 5000px;
}
</style>
</head>
<body>
<div class="wrap">
<div id="nothing" class="demo">
普通滚动
<div class="scroll"></div>
</div>
<div id="throttle" class="demo">
函数节流
<div class="scroll"></div>
</div>
<div id="debounce" class="demo">
函数防抖
<div class="scroll"></div>
</div>
</div>
<script type="text/javascript">
// 函数防抖
var debounce = function(idle, action) {
var last;
return function() {
clearTimeout(last);
last = setTimeout(function() {
action();
}, idle);
}
};
// 函数节流
var throttle = function(delay, action) {
var last = 0;
return function() {
var curr = new Date();
if (curr - last > delay) {
action();
last = curr;
}
}
};
// 普通滚动
document.getElementById("nothing").onscroll = function() {
console.log("普通滚动");
};
var test1 = throttle(800, function() {
console.log("函数节流了")});
// 函数节流
document.getElementById("throttle").onscroll = function() {
test1();
};
var test2 = debounce(800, function() {
console.log("函数防抖了")});
// 函数防抖
document.getElementById("debounce").onscroll = function() {
test2();
};
</script>
</body>
</html>
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


