js放置问题,求求大神帮帮我!!!

图中画红色方框js必须放在图中js的下方盒子上面,一旦换位置,比如:放在head中,就没有办法实现效果,为什么呀?这个位置为什么有这种效果,为什么有些js没有这种要求呢?... 图中画红色方框js必须放在图中js的下方盒子上面,一旦换位置,比如:放在head中,就没有办法实现效果,为什么呀?这个位置为什么有这种效果,为什么有些js没有这种要求呢? 展开
 我来答
cmoooo
2014-05-03 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:677万
展开全部
你这段代码好用吗?

我怎么看怎么觉得就算是这段代码放到什么地方也不好用呢?

这段代码重度残疾,据可靠统计,至少缺少两个闭合用花括号,一个闭合用圆括号,这还是在保证基本语法完整的前提下。

如果按照你要实现的功能来看,这段代码根本完成不了任何事情。
追问
呵呵、、、您真是大神,我的代码太长了,我就直接截了一段,表示一下这个位置,功能是可以实现的,就是位置一变,就不行了
追答

一般情况下,JS代码在网页加载的时间,是浏览器从网上下载这个HTML文件开始,一步步地从最上方开始,遇到什么解析什么。


当JS代码位置太过靠前的时候,可能这个代码中存在调用了某些还没有成功被浏览器加载并解析的HTML标签,这个时候,浏览器因为找不到这个标签,就中止了这段JS的执行。


如果这段代码放到需要调用的那个HTML标签后面,就不同了,浏览器因为按顺序解析,先把HTML标签解析了,因此这个标签浏览器知道它已经存在了,这个时候才开始执行这个JS,JS中再调用这个HTML标签的时候就不会出现找不到的问题而中止程序了。


如果你想把这种需要调用HTML标签的JS代码放到前面去,那么就必须要使用代码告诉这段程序,让它在所有HTML加载完成之后再去执行,也就OK了。


另外,上面我说的HTML标签,专业上来讲叫DOM节点,我是为了让你理解得清晰才这么说。


如果你非要放前面去,你就把<script>标签之间所有的内容放在下面这段程序中注意的地方去!

window.onload=function{
    //把你的代码放到这里
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式