如何停止setInterval()函数?

时间:2014-05-02 05:01:18

标签: javascript setinterval clearinterval

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

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); }

1 个答案:

答案 0 :(得分:2)

var interval;    
button.onclick = function () { 
   interval = setInterval(slideShow, 2000); // assigned to a variable
}

您肯定需要将 variable 分配给setIntervalstopped可以使用

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
       }       
    }