Javascript 如何将暂停功能添加到此页面更改计时器?

Javascript 如何将暂停功能添加到此页面更改计时器?,javascript,function,iframe,timer,shuffle,Javascript,Function,Iframe,Timer,Shuffle,下面的代码是一个页面数组,它被洗牌,然后每个页面在一个iframe中显示一段时间。我希望能够使用按钮或鼠标单击启动/停止pageChange功能。有人能帮我吗?下面是工作代码,或者检查一下这把小提琴:(感谢Nobe4) 您可以添加启动/停止变量以检查状态: [...] var time = 3300; var currentIndex = 0; var stop = 0; function pageChange() { if(currentIndex == 0){

下面的代码是一个页面数组,它被洗牌,然后每个页面在一个iframe中显示一段时间。我希望能够使用按钮或鼠标单击启动/停止
pageChange
功能。有人能帮我吗?下面是工作代码,或者检查一下这把小提琴:(感谢Nobe4)


您可以添加启动/停止变量以检查状态:

[...]
var time = 3300; 
var currentIndex = 0;
var stop = 0;

function pageChange() { 
    if(currentIndex == 0){ 
        pages = shuffle(pages); 
        console.log(pages);
        currentIndex = pages.length; 
    }

    if (stop == 0)
    {
        currentIndex--; 
        document.getElementById("frame").src=pages[currentIndex]; 
        console.log(currentIndex);
        setTimeout(function() { pageChange(); }, time);
    }
};

function startStop()
{
    if (stop == 0){
        stop = 1;
    }
    else{
        stop = 0;
        pageChange();
    }
}

[...]
然后在所需按钮的单击事件上调用
startStop()


编辑:这里有一个

变量,可以设置该变量以确定旋转器是否正在运行,并将其设置为true或false:

var isRunning = true;
....
<button onclick="isRunning = false">stop</button>
<button onclick="isRunning = true">start</button>

活生生的例子:

你想什么时候暂停?只要我点击按钮/鼠标,它就会停止。当再次单击时,它应该会再次启动。您也可以使用刚刚离开的鼠标单击来调用它吗?这对我来说非常有效,谢谢!你能告诉我怎么只做两个按钮中的一个吗?那么“停止”按钮变为“开始”按钮,然后再返回?
var isRunning = true;
....
<button onclick="isRunning = false">stop</button>
<button onclick="isRunning = true">start</button>
function pageChange() { 
    if(isRunning){
       ...
    }
    setTimeout(function() { pageChange(); }, time);
};