如果在HEAD头部里面的JS,对下面BODY的元素进行操作,例如添加删除一些元素等。。
1、这样的操作是不可能的吗?(因为在未执行完HEAD的JS,BODY还没出来?)
2、ONLOAD是不是一定在页面元素出来以后再会触发?(如果是这样,那能不能说ONLOAD里面的JS不会影响到页面的加载速度?也就是说一般会影响到页面显示到用户的速度,就可以用ONLOAD来触发?)希望有前辈指导一下,越具体越好,谢谢啦

解决方案 »

  1.   

    onload是在页面元素全部加载完成后才执行;
    js代码如果跟页面标签有关,最好包括在onload()里面,以防页面元素没有载入
      

  2.   

    1.是的,html顺序加载,head里面的代码会在body之前执行
    2.是在页面元素加载完后触发,只是不影响html的显示罢了,至于是否影响页面加载速度,这个要看你页面的设计方式了,界面是纯html产生当然不影响,但其实一些web引用程序界面是由js代码生成的。
    还有就是你说的问题其实不存在区别,若你的js代码并不会耗费很多时间,那放哪里都差不多;若会耗费很多时间,就算放load事件里不影响显示,但js代码的持续运行也会让页面无法操作(卡住),所以复杂的计算请放后台运行去。
      

  3.   

    学习学习,,总这你要记住
    1.js从上往下的执行
    2.不要操作还未生成js对象.(如你根据后台返回的数据在生成的的元素)
    3.关于加载速度的问题,你按正常的顺序写,逻辑合理,就先不要考虑性能问题,差不了多少..
      

  4.   

    呵呵,谢谢各位。再问一下
    那如果有些JS是别人接口或者其它网站的,因为速度比较慢,完全影响到了页面的显示出来速度。如何解决好呢,只能用ONLOAD了吗?
      

  5.   

    加载速度慢的网站的js是会慢一点,但为什么这么做呢,把需要的js拷贝到自己网站不就行了