单击单选类型按钮?

时间:2018-11-07 11:12:53

标签: javascript html

这个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,它不起作用,有些东西弄乱了动作,但我又不知道它是什么。

3 个答案:

答案 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完全加载之前正在执行。您要么将脚本放置在页面的末尾,要么将代码包装为

DOMContentLoaded

  

当初始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;并以此作为输入。感谢您的建议