gpt4 book ai didi

javascript - 在循环中检查错误的更改属性

转载 作者:行者123 更新时间:2023-12-01 00:44:53 25 4
gpt4 key购买 nike

在循环中检查更改的属性时,仅更改第二个和第三个单选按钮

        <input type="radio" name="slides" id="point1" checked>
<input type="radio" name="slides" id="point2">
<input type="radio" name="slides" id="point3">


<script type="text/javascript">

function isChecked () {
const elem=document.querySelectorAll('[name="slides"]');
for (let i = elem.length-1; i >-1; i--) {
if (elem[i].checked) {
elem[i].checked=false;
if (i!=2) {
elem[i+1].checked=true;
}
else {
document.querySelectorAll('#point1').checked=true;
elem[0].checked=true;
}
}
}
}
setInterval(()=>{isChecked()},2000);
</script>

我预计变化将从第一变为第三

最佳答案

你没有使用break,我也稍微改变了逻辑:

function isChecked() {
const elem = document.querySelectorAll('[name="slides"]');
for (let i = elem.length - 1; i > -1; i--) {
if (elem[i].checked) {
elem[i].checked = false;
elem[(i + 1) % elem.length].checked = true;
break;
}
}
}
setInterval(() => {
isChecked()
}, 500);
<input type="radio" name="slides" id="point1" checked>
<input type="radio" name="slides" id="point2">
<input type="radio" name="slides" id="point3">

原文:

function isChecked() {
const elem = document.querySelectorAll('[name="slides"]');
for (let i = elem.length - 1; i > -1; i--) {
if (elem[i].checked) {
elem[i].checked = false;
if (i != 2) {
elem[i + 1].checked = true;
} else {
document.querySelectorAll('#point1').checked = true;
elem[0].checked = true;
}
break;
}
}
}
setInterval(() => {
isChecked()
}, 500);
<input type="radio" name="slides" id="point1" checked>
<input type="radio" name="slides" id="point2">
<input type="radio" name="slides" id="point3">

关于javascript - 在循环中检查错误的更改属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57478022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com