【问题标题】:How do I stop the setInterval() function? [duplicate]如何停止 setInterval() 函数? [复制]
【发布时间】:2014-06-18 17:17:14
【问题描述】:

如何使用与开始间隔相同的按钮来停止间隔?

function slideShow() {
   'use strict';
    var pics = ['IMG_2135.jpg', 'IMG_2125.jpg', 'IMG_2119.jpg', 'IMG_2118.jpg'];
    var output = document.getElementById('output');
    output = pics[Math.floor(Math.random() * pics.length)];
    document.getElementById('image').src = output;
} 
button.onclick = function () { setInterval(slideShow, 2000); }

【问题讨论】:

标签: javascript setinterval clearinterval


【解决方案1】:
var interval;    
button.onclick = function () { 
   interval = setInterval(slideShow, 2000); // assigned to a variable
}

你肯定需要一个variable来分配给setInterval,可以使用stopped

clearInterval(interval);

如何使用与启动间隔相同的按钮来停止间隔 间隔?

您可以通过设置boolean 检查标志来做到这一点,例如

var isRecursiveOn = true;  // by default it will be true
var interval;
    button.onclick = function () {            
       if  (isRecursionOn) {  // check the flag
            isRecursiveOn = false;
            interval = setInterval(slideShow, 2000); // assigned to a variable                
       } else {
           clearInterval(interval);
           isRecursiveOn = true; //reset it
       }       
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多