首页 > 代码库 > window.onload
window.onload
前端页面加载是从上往下,从左往右的顺序进行的,如果需要在整个页面加载完成之后再执行需要被执行的js代码,就可以使用window.onload了;
1.看下面一段代码,这段代码在执行的时候是有问题的
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> #box{ width: 100px; height: 100px; background: #f00; } </style> <script> // alert(document.getElementById(‘btn‘)); //null,表示取到的对象为空 document.getElementById(‘btn‘).onclick = function(){ document.getElementById(‘box‘).style.width = ‘200px‘; document.getElementById(‘box‘).style.height = ‘200px‘; }; </script> </head> <body> <input type="button" name="btn" id="btn" value="http://www.mamicode.com/按钮" /> <div id="box"></div> </body> </html>
原因: 页面中的代码一般会从上到下,从左到右的顺序执行;当代码走到18行的时候,会从页面中的id为btn的元素,,但是下面的代码还没有执行,所以他找不到,这样的话就会报错;
解决:window.onload = function(){当页面中的代码都加载完成之后,执行这里的代码;}
2、正确代码如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> #box{ width: 100px; height: 100px; background: #f00; } </style> <script> // alert(document.getElementById(‘btn‘)); //null,表示取到的对象为空 window.onload = function(){ document.getElementById(‘btn‘).onclick = function(){ document.getElementById(‘box‘).style.width = ‘200px‘; document.getElementById(‘box‘).style.height = ‘200px‘; }; }; </script> </head> <body> <input type="button" name="btn" id="btn" value="http://www.mamicode.com/按钮" /> <div id="box"></div> </body> </html>
window.onload
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。