javascript - JS限制点击事件的频率怎么实现
PHP中文网
PHP中文网 2017-04-11 11:16:11
[JavaScript讨论组]

做的图像旋转的效果,但是连续点击,图像就混乱啦,所以想限制点击事件的频率或者是不允许连续点击

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
PHP中文网

Underscore 中有个方法:_.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;
        }
    }
}

思想就是将一个函数包装成一个新函数,新函数内置一个计时器,用来控制原函数的调用频率。

PHP中文网

我的思路:
旋轉后,先禁止點擊事件,return false,
旋轉操作完成后再return false。
這樣就可以繼續點擊了。

阿神

这个简单,先定义好事件函数,给按钮one一次事件,当用户出发事件函数执行到最后再one一次,也就是每次只绑一次,只有触发当前事件并执行完后才会绑下一次事件

PHPz

点击后就removeEventListener,动画完成后或者设定一段时间后再加上。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号