ラジオボタンの選択を一定間隔で自動的に変更したい。 2000msごとにforループでsetTimeOutを呼び出していますが、ラジオボタンの選択は設定した間隔に関して変更されていません。 は、ここに私のコードです: HTML:定期的なラジオボタンの選択が機能しない
<input type="radio" id="carousel1" name="carousel" checked="checked">
<input type="radio" id="carousel2" name="carousel">
<input type="radio" id="carousel3" name="carousel">
Javascriptを:
function autoSlideCarousel() {
for (var n = 1; n <= 3; n++) {
setTimeout(autoSlide(n), 2000);
}
}
function autoSlide(n) {
console.log(n);
document.getElementById("carousel"+n).checked = true;
}
window.onload = autoSlideCarousel();
は、ここでより明確にするためJSFiddleリンクです:https://jsfiddle.net/16zmfb12/1/
はあなたの助けに感謝します。
'setTimeout'には関数が渡されます。 'autoSlide(n)'の戻り値を渡しています。これは 'undefined'です。同様に、関数を 'window.onload'に代入する必要があります。現在、 'undefined'である' autoSlideCarousel() 'の戻り値を代入しています。 * "2000msごとにforループでsetTimeOutを呼び出しています" *そうではありません。ループは、タイムアウトが発生するまで待機しません。 'setTimeout'をほぼ即座に3回呼び出します。これらはすべて以前に議論された問題である。 [setTimeout()が待機していない](http://stackoverflow.com/q/15171266/218196) –