如何让页面加载完成后执行js【mgm娱乐场】

下面这个例子在页面完成加载之后改变id_1的背景颜色。

加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比
window.onload 更灵活

1、在body中用onload:

<script defer=”defer” language=”javascript”></script>
//或者
<script defer language=”javascript”></script>

<script type="text/javascript">
function myfun()
{
alert("this window.onload");
}
/*用window.onload调用myfun()*/
window.onload=myfun;//不要括号
</script>
document.ready = function (callback) {
      ///兼容FF,Google
      if (document.addEventListener) {
        document.addEventListener('DOMContentLoaded', function () {
          document.removeEventListener('DOMContentLoaded', arguments.callee, false);
          callback();
        }, false)
      }
       //兼容IE
      else if (document.attachEvent) {
        document.attachEvent('onreadystatechange', function () {
           if (document.readyState == "complete") {
                document.detachEvent("onreadystatechange", arguments.callee);
                callback();
            }
        })
      }
      else if (document.lastChild == document.body) {
        callback();
      }
    }

2、在脚本中用window.onload:

<script type=”text/javascript”>
$(document).ready(function (){
  var userName=”xiaoming”;
  alert(userName);
});
</script>
<script language="javascript" >
function myfun() {
document.getElementById("id_1").style.background= "#000"; // 改变背景颜色
}
// 用js实现在加载完成一个页面后自动执行一个方法
/*用window.onload调用myfun()*/
window.onload=myfun;//不要括号
</script>
window.onload = function () {
      alert('onload');
    };
    document.ready(function () {
      alert('ready');
    });

您可能感兴趣的文章:

但这种方法只有IE支持,其他浏览器不识别defer 这种方法不靠谱
mgm娱乐场, 
方法2:window.onload

<body onload="myfunction()">

但这个方法在IE中只能在一个地方调用,假如2个地方调用,后面调用的就会把前面的添加的覆盖掉; 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script defer="defer">
alert("页面加载完我才执行的")
</script>
先看到这段话 然后再执行上面的 JS 如果去掉上面的 defer="defer" 那么会先执行JS 在看到这段话
</body>
</html>

document.ready这个函数是实现了。我们再来验证一下最上面所说的“ready要比onload先执行”:

相关文章