扫码关注官方订阅号
做的图像旋转的效果,但是连续点击,图像就混乱啦,所以想限制点击事件的频率或者是不允许连续点击
认证高级PHP讲师
Underscore 中有个方法:_.throttle就是做这件事情的。你可以直接用它或者参考一下它的实现。
_.throttle
写了一个简易版的,大概是这样:
function throttle(fn, period) { var bingo = true, timer = -1; return function() { if (bingo) { var args = Array.prototype.slice.call(arguments, 0); var ret = fn.call(this, args); bingo = false; clearTimeout(timer); timer = setTimeout(function() { bingo = true; }, period); return ret; } } }
思想就是将一个函数包装成一个新函数,新函数内置一个计时器,用来控制原函数的调用频率。
我的思路:旋轉后,先禁止點擊事件,return false,旋轉操作完成后再return false。這樣就可以繼續點擊了。
这个简单,先定义好事件函数,给按钮one一次事件,当用户出发事件函数执行到最后再one一次,也就是每次只绑一次,只有触发当前事件并执行完后才会绑下一次事件
点击后就removeEventListener,动画完成后或者设定一段时间后再加上。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Underscore 中有个方法:
_.throttle就是做这件事情的。你可以直接用它或者参考一下它的实现。写了一个简易版的,大概是这样:
思想就是将一个函数包装成一个新函数,新函数内置一个计时器,用来控制原函数的调用频率。
我的思路:
旋轉后,先禁止點擊事件,return false,
旋轉操作完成后再return false。
這樣就可以繼續點擊了。
这个简单,先定义好事件函数,给按钮one一次事件,当用户出发事件函数执行到最后再one一次,也就是每次只绑一次,只有触发当前事件并执行完后才会绑下一次事件
点击后就removeEventListener,动画完成后或者设定一段时间后再加上。