为什么12行和14行都要写setTimeout()呢?去掉后面的那个不行吗?

来源:8-5 计时器setTimeout()

张小生

2015-05-09 10:09

为什么12行和14行都要写setTimeout()呢?去掉后面的那个不行吗?

写回答 关注

3回答

  • jellyhui
    2015-06-27 18:38:46

    14行的代码使得页面在加载的时候延迟了一秒,然后页面加载完成,代码执行就不会有问题,否则在加载时js代码先执行时并没有获取到id为count的文本框值。也可以采取将该代码放置在body中。

    AKii

    可是我把14行注释掉了,依然可以计数,请问是怎么回事?

    2015-07-13 16:59:11

    共 1 条回复 >

  • kwilove
    2015-06-14 13:44:36

    可以,但是存在一个问题,<head></head>中的js在body加载之前就执行了,这时还不存在id=count的文本框,所以如果14行不是用setTimeout(startCount())进行延迟执行的话,文本框不会有变化,你改成startCount()也是没用的。

    当然,你也可以不在14行使用setTimeout(startCount()),那么你要另外想办法让浏览器加载完body标签内的元素之后再调用js的startCount()函数,比如在</form>与</body>之间加上<script>startCount();</script>

  • lymo
    2015-05-09 10:33:01

    可以,渲染的时候是后面的是首次调用startCount(),然后它再自循环,去掉的话,在body中onload或者其他达到相同效果的方法都可以

    qq_飞羽_... 回复张小生

    因为如果去掉了,那么startCount()这个函数就只有声明,没有调用了

    2015-05-20 21:44:32

    共 4 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题