代码1:
window.attachEvent("onload",init);
function init(){
//执行的代码;

代码2:
$(document).ready(function(){
  // 在这里写你的代码...
});
问题来了,
当我使用代码1的时候:
此时显示正确(控件加载完毕后,弹出消息框)按F5刷新后
也显示正确(控件加载完毕后,弹出消息框)
当我使用代码2的时候:
首次载入显示正确(控件加载完毕后,弹出消息框)按F5刷新后 显示错误(控件还没有全部加载完,就弹出 消息框了。)

解决方案 »

  1.   

    window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 
    $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
      

  2.   

    就像楼上说的onload 是等所有的元素以及图片 全部加载完毕之后 
    ready 只是等dom结构绘制完毕 ,比如如果图片还没有加载完 就可以执行操作了。
      

  3.   

    这个就是jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对DOM进行操作。 
    一般情况先一个页面响应加载的顺序是,域名解析-加载html-加载js和css-加载图片等其他信息。 
    那么Dom Ready应该在“加载js和css”和“加载图片等其他信息”之间,就可以操作Dom了。 
    2、Dom Load 
    用原生的js的时候我们通常用onload时间来做一些事情,比如: 
    window.onload=function(){ 
    //do something 

    //或者经常用到的图片,假设这个 
    document.getElementByIdx_x("imgID").onload=function(){ 
    //do something 

    这种就是Dom Load,他的作用或者意义就是:在document文档加载完成后就可以可以对DOM进行操作,document文档包括了加载图片等其他信息。 
    那么Dom Load就是在页面响应加载的顺序中的“加载图片等其他信息”之后,就可以操作Dom了。 
    3.用个最常用的例子说明Dom Ready和Dom Load两者的区别 
    Dom Ready是在dom加载完成后就可以直接对dom进行操作,比如一张图片只要<img>标签完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等; 
    Dom Load是在整个document文档(包括了加载图片等其他信息)加载完成后就可以直接对dom进行操作,比如一张图片要等这个图标加载完成之后才能设置图片的宽高的属性或样式等; 
    比如一个图片浏览的效果,通常如果图片尺寸很大的情况下,为了防止图片把页面撑开通常会限定图片的宽度或高度,如果是单张图片或者是多张规格比例统一的图片下我们可以直接在<img>上价格宽度或者高度的属性<img src=“img.jpg” alt=”码头的大照片” width=“100” height=“90”>,比如(推荐)或者可以在css样式中加宽度或者高度的属性。但是如果这些张规格比例不统一的图片要浏览呢?那就有问题,你设置宽高很可能造成图片严重失真。在ie6之后ie7,ie8还有其他主流浏览器支持css2.1中min-width,max-width,min-height,max-width,这样我们就可以用min-width,max-width,min-height,max-width解决这些问题,但是ie6除非是抛弃性能问题用css表达式引用
      

  4.   

    1、加载外部JS中Var a = function b();
    2、加载本页面的全局JS;
    3、加载body页面标签;
    4、加载body,onload;
    5、加载页面出发啊的js;