为了账号安全,请及时绑定邮箱和手机立即绑定

函数调用问题

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>计时器</title>

</head>

<script type="text/javascript">

  var num=0;

  function startCount() {

    document.getElementById('count').value=num;

    num=num+1;

    setTimeout(startCount,1000); 

  }

startCount();

</script>

</head>

<body>

<form>

<input type="text" id="count" />

</form>

</body>

</html>

这样为啥不显示呢?

正在回答

2 回答

因为你js写在了id=”count“的输入框的前面,document.getElementById('count')返回是null

2 回复 有任何疑惑可以回复我~
#1

慕粉1888 提问者

function startCount() { document.getElementById('count').value=num; num=num+1; setTimeout(startCount,1000); } setTimeout(startCount,1000); 这样就能实现了 那这个setTimeout是在解析完才进行吗?
2016-06-15 回复 有任何疑惑可以回复我~
#2

慕圣6393892 回复 慕粉1888 提问者

你要先理解setTimeout的方法是做什么的,程序解析到这一步就执行了,你这里第二个参数是1s,那么就是1s后再执行startCount方法。这个1s的时间差内下面<input type="text" id="count" />已经解析完了,再执行document.getElementById('count')就不返回null。
2016-06-15 回复 有任何疑惑可以回复我~
#3

慕圣6393892 回复 慕粉1888 提问者

这个取决于CPU吧,具体不太懂。但是这个时间几乎可以忽略不计
2016-06-16 回复 有任何疑惑可以回复我~
#4

慕粉1888 提问者 回复 慕圣6393892

顺便问一下 做一个秒表的话 如果在1.XX秒按下停止 如何在开始时继续从1.xx秒开始计时 而不是重新从1秒开始计时?
2016-06-16 回复 有任何疑惑可以回复我~
查看2条回复


document.getElementById("count").value=num;   这个地方你应该是双引号


0 回复 有任何疑惑可以回复我~
#1

慕粉1888 提问者

单双引号都可以
2016-06-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468188    人
  • 解答问题       21891    个

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

进入课程

函数调用问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信