0
クリックすると自動スライドショーの実行を停止するボタンを作成しようとしています。 clearTimeout()関数は、何らかの理由で機能しません。誰かが私にそれを動作させる方法を教えてもらえますか?は、JavaScriptコードでsetTimeout()をクリアする際に問題が発生する
var button = document.getElementById("button");
button.addEventListener("click",stop);
function stop(){
**clearTimeout(t);**
}
window.addEventListener("load",finalResult);
**var t = setTimeout(function(){finalResult()},0);**
function finalResult(){
getFirstImage();
function getFirstImage(){
img1.style.display = "block";
setTimeout(getSecondImage,3000);
}
function getSecondImage(){
img1.style.display = "none";
img2.style.display = "block";
setTimeout(getThirdImage,3000);
}
function getThirdImage(){
img3.style.display = "block";
img2.style.display = "none";
setTimeout(getFourthImage,3000);
}
function getFourthImage(){
img4.style.display = "block";
img3.style.display = "none";
setTimeout(loopAgain,3000);
}
function loopAgain(){
img4.style.display = "none";
setTimeout(getFirstImage,0);
}
}
あなたはタイムアウトを0に設定しているので、それが起こる前に、あなたがクリックする方法はありません。 –
あなたが設定した他のタイムアウト( 'setTimeout(getFirstImage、0);')をクリアするために 't'をクリアすることを期待していますか?それはできないからです。個々のタイムアウトをクリアする必要があります – Liam