问下 我定义一个全局变量

来源:8-6 取消计时器clearTimeout()

toofirst

2016-03-25 21:08

// 我定义一个全局变量s,为什么提示“Uncaught TypeError: Cannot read property 'value' of null”
var s =  document.getElementById("count");
//   var val = s.value;
  function startCount(){
    s.value = num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }


写回答 关注

2回答

  • 一只特立独行的doge
    2016-04-12 15:35:17
    已采纳

    你把js放到form标签后面去,这应该还是html文档的加载顺序问题,你这里虽然定义的是全局变量,但是定义的时候,count还不存在,所以s并没有得到value值。

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>计时器</title>
    </head>
    
    </head>
    <body>
      <form>
        <input type="text" id="count" />
        <input type="button" value="Start"  onClick="startCount()"/>
        <input type="button" value="Stop"  onClick="stopCount()"/>
      </form>
      <script type="text/javascript">
      var num=0;
      var i;
      var s=document.getElementById('count');
      function startCount(){
       //document.getElementById('count').value=num;
        s.value=num;
        num=num+1;
        i=setTimeout("startCount()",1000);
      }
      function stopCount(){
          clearTimeout(i);
      
      }
    </script>
    </body>
    </html>


    toofir...

    非常感谢!

    2016-04-12 20:25:02

    共 1 条回复 >

  • ssl970432178
    2016-03-25 21:58:47

    不应该s.value

    应该s.innerHTML

    toofir...

    innerHTML 也不对额

    2016-03-26 08:22:52

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题