在指定的时间内点击某元素达到一定的次数后才触发事件

  工作需要,要做一个点击某一元素,在规定的时间内,点击次数达到一定值时,才触发其他事件。

  刚开始是一脸懵逼,思绪混乱,首先想到了使用定时器,后来绕来绕去,始终没有解决,在跟安卓开发的同事交流一番后,便产生了一个更加简单的方法,不使用定时器。

  大致思路是这样的:初始时,给一个变量clickNum,值为0,用来保存点击的次数,点击元素时,当clickNum为0时,获取当前的时间,赋值给变量a,同时将当前点击时的时间赋给连一个变量b,然后拿这个时间b与时间a的差和规定的时间进行比较,当小于规定的时间时,就将次数加1,如果次数大于或等于规定次数时,执行所要执行的事件。如果时间b与时间a的差大于规定的时间,就将变量clickNum重置为0。

  代码如下:

复制代码
<input type="button" value="按钮" onclick="jump(url)">
    <script>
        var clickNum = 0  // 点击的次数
        var firstTime = ''  
        var clickTime = ''
        function jump(url) {
            if (clickNum == 0) {
                firstTime = new Date().getTime()
            }
            clickTime = new Date().getTime()
            if (clickTime - firstTime <= 2000) {
                clickNum ++
                if (clickNum >= 5) {
                    window.location.href = url
                    clickNum = 0
                }
            } else {
                clickNum = 0
            }
            
        }
    </script>
复制代码

 

posted @   江峰★  阅读(977)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示