当前位置:网站首页>防抖函数封装
防抖函数封装
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;
}
边栏推荐
猜你喜欢
Oracle中对临时表空间执行shrink操作
【黄啊码】MySQL入门—2、使用数据定义语言(DDL)操作数据库
技术干货 | 用零信任保护代码安全
Learn to use the basic interface of set and map
云原生Devops 的实现方法
Zikko上市同时搭载HDMI2.1和2.5GbE新款雷电4扩展坞
C#/VB.NET:在 Word 中设置文本对齐方式
入门MySql表的增删查改
复盘:经典的HR面试问题,这些问题可以挖掘你个人的素质,看看你是否合适合我们部门
Leetcode - using sequence traversal features first completed 114. The binary tree to the list
随机推荐
CVPR 2022 | 从人体网格预测骨架,是真正的生理学骨架!
多表查询
POJ2367Genealogical tree题解
Leetcode brush - structure binary tree (105. Once upon a time sequence and the sequence structure binary tree traversal sequence, 106. From the sequence with the sequence structure binary tree travers
apache dolphin scheduler 文件dolphinscheduler-daemon.sh详解
揭秘交换机市场内幕,“准工业级”猫腻你中招了吗?
The use of DDR3 (Naive) in Xilinx VIVADO (2) Read and write design
Disc burning steps
手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
今天15:00 | CVPR 2022 论文分享精彩继续
[Hongke case] Assembling furniture based on 3D camera
【LeetCode】98.验证二叉搜索树
opencv------图片转化为视频
mysqldump远程备份数据库
技术干货 | 用零信任保护代码安全
Leetcode刷题——构造二叉树(105. 从前序与中序遍历序列构造二叉树、106. 从中序与后序遍历序列构造二叉树)
微信公众号之底部菜单
Mysql——》类型转换符binary
shell变量
ping的原理