<div id="divId" style="width:50px; height:50px; background-color:#F00;"></div>
<script type="text/javascript">window.onload = function() {
a = 100;
}
document.getElementById("divId").style.width = 100 + "px";
alert(a);
</script>
当页面加载完是当除js部分的html标签加载完还是还包括其他js代码,如本例的document.getElementById("divId").style.width = 100 + "px";
alert(a);代码

解决方案 »

  1.   

    document.ready文档结构加载完成
    onload除了文档还包括资源文件可以百度一下document.ready和onload的区别
      

  2.   

    window.onload = function(){
    a = 100;
    alert(a);
    }
    document.getElementById("divId").style.width = 100 + "px";
    alert("34");应该是全部都加载完
    像如果上述alert的写法,是会先alert("34"),后alert(a)的。
      

  3.   

    页面所有资源加载完,你后面的代码也执行了,不论它在onload方法定义前后
      

  4.   

    就是执行这句window.onload = function() {
    a = 100;
    }还要等这句后面的两句document.getElementById("divId").style.width = 100 + "px";
    alert(a);都执行完再执行还是不等这两句,执行完<div id="divId" style="width:50px; height:50px; background-color:#F00;"></div>这句就执行window.onload = function() {
    a = 100;
    }
      

  5.   

    执行完document.getElementById("divId").style.width = 100 + "px";
    alert(a);
    再到window.onload后面的匿名函数不过看你的代码应该会出错,因为先执行到alert(a);时由于没定义导致出错,所以onload中的语句也不执行了
      

  6.   

    谢谢大家,我主要是验证window.onload = function() {
    a = 100;
    }中定义的a是全局变量,但是alert(a)时发现问题,现在理解了window.onload引用的匿名函数应在所有内容加载完后执行,包括window.onload = "一个匿名函数"后的其他js代码