您的位置:首页 > 其它

$(window).load(function() {})和$(document).ready(function(){})的区别

2015-09-10 15:47 375 查看
用$(window).load(function(){...})和body.onload()需要等到页面的所有内容加载完毕才执行(等到图片或其他媒体下载完毕)。

但是如果当网速比较慢的时候,加载一个页面往往需要较长的时间,几秒到十几秒不等,甚至更长...,所以我们经常会遇到页面还没有完全加载完毕而用户已经在操作页面了这种情况,这样页面表现出来的效果就跟我们预期的效果不一样了。

Example:

如果我们想同时加载多个函数,我们必须这样写

1.<body onload="fn1(),fn2()"></body>看起来不好看

2.如果用$(window).load(),我们可以这样加载多个函数

 $(window).load(function() {
            alert("hello,我是jQuery!");
  });
 $(window).load(function() {

         alert("hello,我也是jQuery");
 });

使用$(document).ready(function(){}),或简写为$(function(){}),因为他会在页面的dom元素加载完毕后就执行,而无需等到图片或其他媒体下载完毕.

但是有时候确实我们有需要等到页面的所有东西都加载完后再执行我们想执行的函数,所以是该使用$(window).load(function(){...})还是该使用$(function(){})往往需要结合具体需要而作不同的选择.

最后附上一段在所有DOM元素加载之前执行的jQuery代码

<script type="text/javascript">

(function() {

             alert("DOM还没加载哦!");
 })(jQuery)
  </script>

呵呵,有时候我们也有这个需求!

如果我们想同时加载多个函数,我们必须这样写

$(window).load(function() {})

转自 : $(window).load(function() {})和$(document).ready(function(){})的区别

如果我们想同时加载多个函数,我们必须这样写

<body onload="fn1(),fn2()"></body>看起来极其丑陋,如果用$(window).load()我们可以这样加载多个函数

 $(window).load(function() {

            alert("hello,我是jQuery!");

  });

 $(window).load(function() {

        alert("hello,我也是jQuery");

 });

这样写它会从上往下执行这两个函数,并且看起来漂亮多了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: