javascriptスライドショーの再生/一時停止ボタンを作成しようとしていますが、スコープの問題によりボタンが進行を停止しました。要素play
をクリックして2つの文字列値を切り替える。機能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);
}
}
}
あなたのフィドルでは、** var state = 'play''を設定した後に 'slideshow()' **を実行してください。あなたのフィドルにはスライドオブジェクトも含まれていません。 –
ありがとう、私はフィドルを更新しました。スライドショーが自動的に実行されない理由を知っていますか? https://jsfiddle.net/u9gqct9v/11/ – st4rgut