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

为什么要调用两次setTimeout()才能生效?

<!DOCTYPE HTML>

<html>

<head>

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

<title>计时器</title>

<script type="text/javascript">

  var num=0;

  function startCount() {

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

    num=num+1;

     setTimeout("startCount('num')",1000);

  }

     setTimeout("startCount('num')",1000);

</script>

</head>

<body>

<form>

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

</form>

</body>

</html>


正在回答

3 回答

有3个问题:

1、startCount不需要传参

2、<script >标签要放到<body>最后,否则 document.getElementById('count').value 会报错

3、js第一层(你的代码中的第二个setTimeout),这里应该是调用函数startCount(),类似示例里面的

onClick="numCount()"


修改代码如下:

<!DOCTYPE HTML>

<html>

<head>

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

<title>计时器</title>



</head>

<body>

<form>

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

</form>
<script type="text/javascript">

  var num=0;

  function startCount() {

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

    num=num+1;
    //setTimeout("startCount('num')",1000);
     setTimeout("startCount()",1000);

  }
  startCount();
     //setTimeout("startCount('num')",1000);

</script>
</body>

</html>


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

为什么我调一次就可以了

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

第一次实现自身调用,创建一个循环计数器

第二次是在设定时间后执行startCount()函数

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

举报

0/150
提交
取消

为什么要调用两次setTimeout()才能生效?

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