我想定期自动更改单选按钮的选择。我每 2000 毫秒后在 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/
感谢您的帮助。
最佳答案
为了避免同时运行所有 3 个 setTimeouts,请使用全局变量作为计数器而不是 for 循环,并将 setTimeout 添加到 autoSlide() 函数的末尾。
var n = 1;
function autoSlide(n) {
console.log(n);
document.getElementById("carousel"+n).checked = true;
if (n<3) {
setTimeout(function() {autoSlide(n+1)},2000);
}
}
window.onload = function() {autoSlide(n)};
关于javascript - 定期选择单选按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781380/