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

两次setTimeout

为什么这里需要两次调用,而左边给的例子却只需要在函数体内写一次呢?

正在回答

3 回答

html从上到下进行加载,因为在函数下面有setTimeout("startCount()",1000);

在一秒后才执行startCount(),使得有足够的时间加载完整个html页面,所以函数里面的

document.getElementById('count').value=num;这句代码才能够读取到有id=count的元素

所以文本框中才会有数据

使用startCount();直接调用时,html页面没能继续加载完,就要去执行startCount()函数了,所以里面的

document.getElementById('count').value=num;这句代码是不能识别id=count的元素的

 

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

忘记说了,例子里面是通过onClick调用计数器函数的。

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

第一个是在函数体内的,并不会自动运行,所以要再调用一次,以保证计数器运行,否则文本框内是没有数据的。通过调用函数“startCount();”也是可以的,让计数器开始运行。

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

黄太_后 提问者

感谢回答。但是我刚才把它改成startCount()并没有效果啊,这是要取决于JS代码的位置吗?当我把JS代码写在body中之后,可以实现。
2017-03-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

两次setTimeout

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