0

我正在创建一个网页,其中包含通过单击按钮激活的幻灯片。当我第一次单击该按钮时,我希望在实际运行幻灯片放映之前提示用户他们希望它以多快的速度更改为下一个图像。下次单击该按钮时,我希望幻灯片停止。现在第一部分正在工作,但是当我第二次单击它时,它只会再次显示提示并且不会停止幻灯片。谁能告诉我我做错了什么?这是给定函数的代码:

function slideShow(){
var temp2 = 0;
  if (temp2 == 0){
    var speed = prompt("How fast would you like to the slideshow to go?");
    var timerID = setInterval("clock()",speed);
    temp2 = 1;
  }
  else if (temp2 == 1){
  clearInterval(timerID);
  temp2 = 0;
  }
}
4

1 回答 1

1

移动

var timerID

到函数声明之外。

var timerID
function slideShow(){
var temp2 = 0;
  if (temp2 == 0){
    var speed = prompt("How fast would you like to the slideshow to go?");
    timerID = setInterval("clock()",speed);
    temp2 = 1;
  }
  else if (temp2 == 1){
  clearInterval(timerID);
  temp2 = 0;
  }
}

那将是最简单的方法。每次调用该函数时,您基本上只是将那个变量扔掉。


只是其他建议。你真的不想在 setInterval 中使用字符串。

于 2013-03-26T04:38:22.003 回答