如何在多次触发事件时只执行一次?(函数防抖)
如何让滚轮滑动一次只执行一次事件。
同样的问题,就是窗口多次调整后只允许触发一次事件,且延迟一段时间执行,如何解决。
只需要在事件开头加上clearTimeout即可,每次滑动时都清除排队执行的前面等候事件,以最后一次添加的事件为主。
var scrollEle = document.getElementById("inner");
var time;
var data;
scrollEle.onmousewheel = function(e)
{
clearTimeout(time);
time = setTimeout(function()
{
if(e.wheelDelta > 0)
{
if(scrollEle.scrollTop >= 400)
{
data = 0;
(function move()
{
data++;
scrollEle.scrollTop-=20;
if(data < 20)
{
setTimeout(move,16);
}
})();
}
}
else
{
if(scrollEle.scrollTop <= 800)
{
data = 0;
(function move()
{
data++;
scrollEle.scrollTop+=20;
if(data < 20)
{
setTimeout(move,16);
}
})();
}
}
},300);
e.preventDefault();
};
函数节流与函数防抖的分析: https://juejin.im/entry/58c0379e44d9040068dc952f
转载于:https://www.cnblogs.com/cheeseCatMiao/p/7867072.html
如何在多次触发事件时只执行一次?(函数防抖)相关推荐
- css 页面从左侧向右滑入,动画只执行一次
简单实现了页面进入时的动画: (1)从左侧滑入: (2)只执行一次. <template><div class="big_screen_contant">& ...
- Go的sync.Once(三):once.do(函数名) 函数只执行一次
Once once.do(函数名) 函数只执行一次!执行一次后,其他协程不执行了 // 用once可以保证上面的oncebody被执行一次 package mainimport ("fmt ...
- 避免showModalDialog打开的窗口Page_Load只执行一次
当showModalDialog打开的窗口Page_Load只执行一次,导致 if (!IsPostBack){} 中代码没有执行,查了相关资料,原因在于第一次之后加载都是从缓存中直接获取之前的页面, ...
- php多个请求只执行一次,php使用redis的blPop/brPop,一台服务器多个并发,也只能一次一次执行?...
服务器是使用 nginx + php-fpm 的架构,redis用的是connect来连接,每个网络请求应该都会有单独的 php-fpm 进程.我写了一个循环,每次循环都有 blPop/brPop 和 ...
- vue animate bounceInRight 只执行一遍
touchMove 中左滑 添加bounceInRight ,动画只执行一遍,或者只有某个有动画 解决:第一步:数据出现比动画要慢 在touchEnd中增加延迟,把类名置位空 第二步:把增加bounc ...
- python 为什么只执行一次_python只执行一次
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! #!usrbinpython #coding=utf-8 created on ...
- 开启Thread线程只执行一次
代码如下 private static Thread mTaskThread = new Thread(new Runnable() {@Overridepublic void run() {coun ...
- ansible 命令只执行一次
RUN ONCE 通过run_once: true来指定该task只能在某一台机器上执行一次. 可以和delegate_to 结合使用 - command: /opt/application/upgr ...
- Android AlarmManager设置多个定时事件时只最后一个有效问题解决
最近用到了AlarmManager,遇到了问题,当我设置多个定时器时,发现只有一个起作用,百思不得其解,后来在网上找到了原因,把人家的解决办法贴上: AlarmManager的常用方法有三个: (1) ...
- shell 脚本中 while 只执行一次
实例代码 while read line ; do ssh -p20002 $line -o StrictHostKeyChecking=no xxxxxxxxx done < ip.txt w ...
最新文章
- 2014年最值得关注的六大趋势
- 2019最全Python入门学习路线,绝对是最全
- system(“”start calc“”)
- MathType 在Word中的应用
- smarty的配置与安装
- bzoj1088 [SCOI2005]扫雷Mine
- YYKit 常见用法总结
- linux安装命令自动运行y,在Linux上安装Gnome Tweak以在Gnome Shell上自动启动程序
- 谈谈微信小程序仿网易云音乐有关播放的那些事儿
- php ajax 考试倒计时,ajax实现在线考试倒计时
- 插件用法--视频播放video.js
- Python——河神小游戏
- Visual Studio设置release版本可调试
- springboot大学生青年志愿者管理的设计与实现毕业设计源码101605
- html5页面打不开原因,有网但是网页打不开是什么原因(原因及2种解决方法)
- web前端 html5 直播功能开发
- MYSQL SELECT INTO临时表
- 自己整理的小学教师资格证结构化面试题分享
- Pktgen-DPDK使用说明
- 万年日历思路加完整代码