window.onload用法

window.onload用法:

网页中的javascript脚本代码往往需要在文档加载完成过后才能去去执行,否则可能会导致无法获取对象的情况,为了避免这样的情况发生

我们可以采用2种方式:

1,、将脚本代码放在网页底端,这样运行代码的时候,因为是从上往下运行的,所有可以确保操作对象已经加载完成。

2、通过window.onload来执行脚本代码。

第1种方式需要将代码放在合适 的位置,推荐使用,一般放在最后。
第2种方式,window.onload是一个事件,当文档加载完成才会触发该事件,可以为此事件注册事件处理函数。并执行的脚本代码放在事件处理

函数中,于是避免了获取不到对象的情况。

例子1:

 <head>
<script type="text/javascript">
                                       //json格式是以{键:值}

                var oBtn = document.getElementById("btn");
                oBtn.onclick = function(){
                     for( var attr in Style ){
                        oBtn.style[attr] = Style[attr];
                    };
                };
        
                 var Style = {                                                                            //点击下按钮,按钮的样式改变
                'width' : '100px',
                'height' : '100px',
                'background' : 'plum',
               'border' : '5px solid #000',
             };    
  </script>
  </head>

  <body>
    <input type="button" name="btn" id="btn" value="button" />
  </body>

//运行报错:TypeError: oBtn is null   因为代码从上往下执行。当运行到    oBtn.onclick = function(){}时还木有获取到btn


修改:只要在前面加上window.onload,代码会正常运行

<script type="text/javascript">

window.onload = function(){
                var oBtn = document.getElementById("btn");
                oBtn.onclick = function(){
                    for( var attr in Style ){
                        oBtn.style[attr] = Style[attr];
                    };
                };


                 var Style = {
                'width' : '100px',
                'height' : '100px',
                'background' : 'plum',
                'border' : '5px solid #000',
             };    

       }

  </script>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值