问答详情
源自:8-5 计时器setTimeout()

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

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

提问者:张小生 2015-05-09 10:09

个回答

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

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

  • 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或者其他达到相同效果的方法都可以