【如何避免连续按按钮多次,格子越闪越快? _变量 _表达式和运算符 _操作DOM 】 | IT修真院·坑乎
问题已收录 如何避免连续按按钮多次,格子越闪越快?
我也踩过这个坑( 2 )
已统计您的踩坑,无需重复点击
回答(2)
变量 表达式和运算符 操作DOM
详细描述
截图
代码
编辑于2024-04-29
  • [北京|结业弟子]PM-刘仁瑞
    0

    越点越快是因为每点击一次就执行一个定时器,按理说你在按钮上加了一个clearInterval,先清除是不会出现这种情况的。

    编辑于2018-08-24
  • [深圳|结业弟子]JS-韩鹏
    0

    我的解决思路是在点击事件上加一个状态(抽象成一个开关),在打开状态下不能再进行点击(或者点击没有作用)。


    var swi = "off";

    var Start = function () {

        if (swi === "off"){    // 判断开关状态,关着的话可以点击开始闪烁

            init = setInterval("flashing()",1000);

        }

        swi = "on";    // 打开开关

    };

    var Stop = function () {

        clearInterval(init);     // 清除定时器

        for (var i = 0; i < box.length; i ++){    // 循环遍历每个盒子,将背景颜色清除

            box[i].style.backgroundColor = "";

        }

        swi = "off";    // 关闭开关

    };


    编辑于2018-09-21