无法使用 cleartimeout 暂停幻灯片放映
Can't pause slideshow with cleartimeout
所以我正在学习 javascript,目前我正在做一项作业,我需要创建一个带有暂停按钮的横幅来循环显示多个图像,问题是,我似乎做不到用 clearTimeout()
暂停
var images = [];
var timer;
images[0] = 'destaque-home.png';
images[1] = 'destaque-home-1.png';
images[2] = 'destaque-home-2.png';
function changeImg(){
document.MoveBanner.src = images[i];
if(i < images.length - 1){
i++;
} else {
i = 0;
}
var timer = setTimeout("changeImg()", 1000);
console.log(timer);
}
function LeftArrow() {
i--;
if (i < 0){
i=2;
}
document.MoveBanner.src = images[i];
}
function RightArrow() {
document.MoveBanner.src = images[i];
i++;
if (i > 2){
i=0;
}
}
function PauseBut() {
clearTimeout(timer);
}
window.onload = changeImg;```
var timer = setTimeout("changeImg()", 1000);
因为您使用了var
,所以您创建的变量与代码顶部声明的全局var timer
变量不同。这意味着 PauseBut 函数正在尝试使用错误的 timer
.
清除超时
改为使用全局范围的 timer
:
timer = setTimeout("changeImg()", 1000);
所以我正在学习 javascript,目前我正在做一项作业,我需要创建一个带有暂停按钮的横幅来循环显示多个图像,问题是,我似乎做不到用 clearTimeout()
暂停var images = [];
var timer;
images[0] = 'destaque-home.png';
images[1] = 'destaque-home-1.png';
images[2] = 'destaque-home-2.png';
function changeImg(){
document.MoveBanner.src = images[i];
if(i < images.length - 1){
i++;
} else {
i = 0;
}
var timer = setTimeout("changeImg()", 1000);
console.log(timer);
}
function LeftArrow() {
i--;
if (i < 0){
i=2;
}
document.MoveBanner.src = images[i];
}
function RightArrow() {
document.MoveBanner.src = images[i];
i++;
if (i > 2){
i=0;
}
}
function PauseBut() {
clearTimeout(timer);
}
window.onload = changeImg;```
var timer = setTimeout("changeImg()", 1000);
因为您使用了var
,所以您创建的变量与代码顶部声明的全局var timer
变量不同。这意味着 PauseBut 函数正在尝试使用错误的 timer
.
改为使用全局范围的 timer
:
timer = setTimeout("changeImg()", 1000);