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>