我正在创建一个通过单击按钮激活幻灯片的网页。当我第一次单击该按钮时,我希望在实际运行幻灯片放映之前,系统会提示用户他们希望它更快地更改为下一个图像。下次单击该按钮时,我希望幻灯片停止。现在第一部分正在工作,但是当我再次点击它时它再次显示提示并且不会停止幻灯片放映。谁能告诉我我做错了什么?这是给定函数的代码:
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;
}
}
答案 0 :(得分: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中使用字符串。