首页 > 其他 > 详细

防抖函数的简单使用。

时间:2019-10-29 11:55:01      阅读:86      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<input id="input" type="text">
<script>
var input =document.getElementById(‘input‘)
input.oninput = debounce( () => console.log(‘fn 节流执行了‘), 1000);

function debounce(fn, wait) {
let previous =0, // 上一次执行的时间
timer=null // 定时器
return (...args)=>{
// 获取当前时间
let now=new Date()
// 如果小于,则为本次触发操作设立一个新的定时器
// 定时器时间结束后执行函数 fn
if(now-previous<wait){
if(timer){clearTimeout(timer)}
timer=setTimeout(()=>{
previous=now;
fn.apply(this, args)
},wait)
}else{
// 第一次触发或者间隔时间大于等待时间,执行回调函数
previous=now
fn.apply(this.args)
}
}
}
</script>
</body>
</html>

防抖函数的简单使用。

原文:https://www.cnblogs.com/bride/p/11757360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!