当前位置:网站首页>防抖函数封装
防抖函数封装
2022-08-04 11:29:00 【要成为光的女人】
在某些场景我们并不需要高频的反馈,毕竟浏览器性能是有限的,不应该浪费在这里。
我们可以在第一次触发事件时,不立即执行函数,而是给出一个期限值,例如3000ms。
- 如果在3000ms 内没有次触发滚动事件,那么就执行函数
- 如果在3000ms 内 在次触发滚动事件,那么当前的计时取消,重新开始计时
效果:如果短时间内大量触发同一事件,只会执行一次函数
//防抖函数封装 参数1:函数 参数2:延时时间
function debounce(fn ,delay){
var timer=null //定义一个timer 为null
return function(){
//如果timer 存在就把它清除掉
if(timer){
clearTimeout(timer)
}
//如果这个timer 不存在就去执行这个函数
timer=setTimeout(fn,delay)
}
}
//使用
//监听窗口滚动事件
window.onscroll=debounce(scrollHandle,3000) //调用这个防抖函数
function scrollHandle(){
var scroolTop=document.documentElement.scrollTo;
}
边栏推荐
猜你喜欢
3-5年以上的功能测试如何进阶自动化?
A topic of map
国际原子能机构总干事警告称扎波罗热核电站安全形势已“完全失控”
What is the principle of thermal imaging temperature measurement?Do you know?
【机器学习】:如何对你的数据进行分类?
God Space - the world's first Web3.0-based art agreement creative platform, broadening the boundaries of multi-art integration
【LeetCode】700.二叉搜索树
【目标检测】yolov3特征提取网络------Darknet53网络及pytorch实现
复盘:经典的HR面试问题,这些问题可以挖掘你个人的素质,看看你是否合适合我们部门
萌宠来袭,如何让“吸猫撸狗”更有保障?
随机推荐
BOSS 直聘回应女大学生连遭两次性骚扰:高度重视求职者安全,可通过 App 等举报
面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服
*SEO*
今天15:00 | CVPR 2022 论文分享精彩继续
ORB-SLAM3中的优化
命令模式(Command)
力扣解法汇总1403-非递增顺序的最小子序列
Mysql高级篇学习总结13:多表连接查询语句优化方法(带join语句)
入门MySql表的增删查改
Leetcode刷题——路径总和
国际原子能机构总干事警告称扎波罗热核电站安全形势已“完全失控”
ORA-00054 资源正忙
剑指长城炮? 长安全新皮卡官方谍照
POJ1094Sorting It All Out题解
【目标检测】yolov3特征提取网络------Darknet53网络及pytorch实现
数据库对象
单调栈一些题目练习
ESP8266-Arduino编程实例-TSL2561亮度传感器驱动
小程序实战(一)- 骨架屏的应用与实现
Advanced transcriptome analysis and R data visualization hot registration (2022.10)