课程
/前端开发
/JavaScript
/JavaScript进阶篇
为什么12行和14行都要写setTimeout()呢?去掉后面的那个不行吗?
2015-05-09
源自:JavaScript进阶篇 8-5
正在回答
14行的代码使得页面在加载的时候延迟了一秒,然后页面加载完成,代码执行就不会有问题,否则在加载时js代码先执行时并没有获取到id为count的文本框值。也可以采取将该代码放置在body中。
AKii
可以,但是存在一个问题,<head></head>中的js在body加载之前就执行了,这时还不存在id=count的文本框,所以如果14行不是用setTimeout(startCount())进行延迟执行的话,文本框不会有变化,你改成startCount()也是没用的。
当然,你也可以不在14行使用setTimeout(startCount()),那么你要另外想办法让浏览器加载完body标签内的元素之后再调用js的startCount()函数,比如在</form>与</body>之间加上<script>startCount();</script>
可以,渲染的时候是后面的是首次调用startCount(),然后它再自循环,去掉的话,在body中onload或者其他达到相同效果的方法都可以
张小生 提问者
恰北北 回复 张小生 提问者
qq_飞羽_1 回复 恰北北
qq_飞羽_1 回复 张小生 提问者
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
4 回答外面的那个setTimeout()会循环执行吗
3 回答为什么那个任务14行啊
2 回答为什么要在函数里写setTimeout("startCount()",1000);外面那行不就代表每隔一秒执行一次num++吗
2 回答换行符号br后面那,为什么要加一个“/”
1 回答为什么分行写就不行呢?