我正在尝试为我的javascript幻灯片创建播放/暂停按钮,但由于某些范围问题,该按钮已停止我的进度。我通过单击元素play
在两个字符串值之间切换。虽然函数slideshow
打印出working
,但它无法打印状态并执行该函数。
以下是画廊的小提琴:
我真的很感谢你的帮助
var state='play'
slideshow()
pause.onclick=function(){
console.log(state)
if (state=='play')
{
state='pause'
}
else{
state='play'
}
}
function slideshow(){
console.log('working')
if (state == 'play'){
console.log('play')
var pic='<img src="'+ images[slide]+'">'
gallery.innerHTML=pic
slide+=1;
console.log(slide)
if(slide-1==length){
slide=0
setTimeout(slideshow, 3000);
}
}
}
答案 0 :(得分:2)
<强> Updated fiddle 强>
请检查控制台,您可以看到未定义的错误:
未捕获的ReferenceError:幻灯片未定义(...)
当您声明幻灯片变量时,您将获得:
未捕获的ReferenceError:未定义图库(...)
您必须声明slide
和gallery
个变量:
var slide=0;
var gallery= document.getElementsByClassName('gallery')[0];
希望这有帮助。
答案 1 :(得分:1)
我放了一个完整的小提琴here。
由于以下几个原因,您的幻灯片显示无法正常工作:
检查滑动计数器达到最大值的时间不正确。它必须是:if(slide==images.length){
。
你的}
位置错误。它仅在if
。