首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript setInterval函数提高点击速度

Javascript setInterval函数提高点击速度
EN

Stack Overflow用户
提问于 2021-07-13 10:42:25
回答 1查看 285关注 0票数 0

我有一个脚本,向下数点击,它运行良好,但问题是,当按钮“运行”被多次点击,计数器的速度增加。我使用了"clearInterval“来删除最近创建的间隔,但它仍然不起作用。

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<button class="run">Run</button>
<p class="show"></p>

脚本

代码语言:javascript
复制
$(".run").on("click", function() {
    var myInterval;
    var decrement=5;
    clearInterval(myInterval) ;
    myInterval=setInterval(function decrementNum() {
        decrement--;
        $(".decrement").text(decrement) ;
        if(decrement==0){
            decrement=5;
        }
        $(".show").text(decrement) ;
    }, 2000)
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-13 10:50:24

您的intervalId是该函数的本地函数。每次添加越来越多的事件侦听器。setInterval的频率在增加,因此它的speed increases将变量移出外部,所以每次click访问的myInterval都是相同的。

代码语言:javascript
复制
var myInterval;
$(".run").on("click", function() {
    var decrement=5;
    clearInterval(myInterval) ;
    myInterval=setInterval(function decrementNum() {
        decrement--;
        $(".decrement").text(decrement) ;
        if(decrement==0){
            decrement=5;
        }
        $(".show").text(decrement) ;
    }, 2000)
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68360888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档