我不能让我的红绿灯序列在html中工作

时间:2017-04-03 08:51:28

标签: javascript html arrays traffic

在我的a452计算类中,我试图用一个按钮来改变图像以表示我的交通灯序列。

我可以显示我的第一张照片,但照片不会改变。在我的序列中,我有交通信号灯的图片,但无法显示。

当我运行它时,第一张图片被加载但是它不会加载任何其他图像

在我的a452计算中,我试图用一个按钮来改变图像来表示我的交通灯序列。我可以显示我的第一张照片,但图片不会改变,请帮忙。这是我的代码:



<!DOCTYPE html> 
<html> 
    <body> 
       <script> 
         var TLassets = ["Red.png","Redamber.png","Green.png","Amber.png"] 
         var count=0 
         function TL(){
          if(count<3){
            count=count+1
            document.getElemenybyId('lights').src=TLassets[count]; 
          }else{ 
            count=0 
            document.getElemenybyId('lights').src=TLassets[count]; 
          } 
        </script> 
        <center>
          <img id="lights" src='Red.png' ;>
        </center> 
        <center>
          <input type="button" id="change" value="change lights" onclick=TL()>
        </center> 
    </body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

区分大小写的问题:document.getElement B yId('lights'); (注意粗体字母,大写'b')。

如果您是新手,我建议您在“步骤”中拆分代码。我做了一些修改,检查出来,它对我有用。我添加了控制台打印来澄清。

    <script>
    var count = 0;
    function TL() {
      var TLassets = ["Red.png", "yellow.png", "Green.png"];
      count++
        if (count < 3) {
          console.log(count);
          console.log(TLassets[count])
          var edit_picture =  document.getElementById('lights');
          edit_picture.src = TLassets[count];
        } else {
          count = 0;
          console.log(count);
          console.log(TLassets[count])
          var edit_picture =  document.getElementById('lights');
          edit_picture.src = TLassets[count];
        }
      }
    </script>

答案 1 :(得分:0)

您的代码中存在语法错误,请检查控制台! 修复后,脚本可以正常工作:getElemenybyId不正确。