这个Java脚本应该单击按钮(制作动画幻灯片),原因是我无法管理代码以单击按钮,而且我找不到错误,似乎正在运行
<!DOCTYPE html>
<html>
<script type="text/javascript">
var seconds = 0;
setInterval(setTime, 1000);
function setTime() {
seconds++;
if (seconds == 5) {
document.getElementById('i2').value = true;
} else if (seconds == 10) {
document.getElementById('i3').value = true;
} else if (seconds == 15) {
document.getElementById('i4').value = true;
} else if(seconds == 20) {
document.getElementById('i1').value = true;
seconds == 0;
}
}
</script>
<div class="slideshow" onload="setTime()">
<input type="radio" id="i1" name="images" checked/>
<input type="radio" id="i2" name="images" />
<input type="radio" id="i3" name="images" />
<input type="radio" id="i4" name="images" />
</div>
</html>
我尝试了.checked
.click()
.value
,它不起作用,有些东西弄乱了动作,但我又不知道它是什么。
答案 0 :(得分:1)
如果选中单选按钮,则value
是将与表单数据一起提交的值。 。
如果要将状态从未选中更改为选中,则需要修改checked
属性。
var seconds = 0;
setInterval(setTime, 1000);
function setTime() {
seconds++;
if (seconds == 5) {
document.getElementById('i2').checked = true;
} else if (seconds == 10) {
document.getElementById('i3').checked = true;
} else if (seconds == 15) {
document.getElementById('i4').checked = true;
} else if (seconds == 20) {
document.getElementById('i1').checked = true;
seconds == 0;
}
}
<input type="radio" id="i1" name="images" checked/>
<input type="radio" id="i2" name="images" />
<input type="radio" id="i3" name="images" />
<input type="radio" id="i4" name="images" />
答案 1 :(得分:1)
这是您必须设置的 checked 属性,而不是 value 。
请注意:您的脚本在DOM完全加载之前正在执行。您要么将脚本放置在页面的末尾,要么将代码包装为
当初始HTML文档已完全加载和解析而没有等待样式表,图像和子帧完成加载时,将引发DOMContentLoaded事件。完全不同的事件加载应仅用于检测页面已满。在DOMContentLoaded更合适的地方使用负载是一个非常常见的错误,所以要谨慎。
您在seconds == 0;
中也有错字,应该是赋值运算符(=
),而不是进行比较。
<!DOCTYPE html>
<html>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var seconds = 0;
setInterval(setTime, 1000);
function setTime() {
seconds++;
if (seconds == 5) {
document.getElementById('i2').checked = true;
} else if (seconds == 10) {
document.getElementById('i3').checked = true;
} else if (seconds == 15) {
document.getElementById('i4').checked = true;
} else if(seconds == 20) {
document.getElementById('i1').checked = true;
seconds = 0;
}
}
});
</script>
<div class="slideshow" onload='setTime()'>
<input type="radio" id="i1" name="images" checked/>
<input type="radio" id="i2" name="images" />
<input type="radio" id="i3" name="images" />
<input type="radio" id="i4" name="images" />
</div>
</html>
答案 2 :(得分:-1)
它有2个错别字,==现在可以正常工作
var seconds = 0;
setInterval(setTime, 1000);
function setTime() {
seconds++;
if (seconds == 5) {
document.getElementById('i2').checked = true;
} else if (seconds == 10) {
document.getElementById('i3').checked = true;
} else if (seconds == 15) {
document.getElementById('i4').checked = true;
} else if (seconds == 20) {
document.getElementById('i1').checked = true;
seconds = 0;
}
}
<div class="slideshow" onload="setTime()">
<input type="radio" id="i1" name="images" checked/>
<input type="radio" id="i2" name="images" />
<input type="radio" id="i3" name="images" />
<input type="radio" id="i4" name="images" />
<div>
我有== 0;并以此作为输入。感谢您的建议