您的位置:首页 > Web前端 > JavaScript

页面加载完成后执行JS的5种方式

2018-11-09 11:06 134 查看
版权声明:转载请注明出处,谢谢! https://blog.csdn.net/ALEX_wxy/article/details/83894176

在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式。

1.jQuery的$( function(){} );

2.jQuery的$(document).ready( function(){} );前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。

3.jQuery的$(window).load( function(){} );

4.window.onload = function(){} 第3种和第4种都是等整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

5.在标签上静态绑定onload事件,<body onload="executeAfterloadedBody()">等待body加载完成,就会执行executeAfterloadedBody()。

window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行,$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕

window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个,$( function(){} )/$(document).ready()可以同时编写多个,并且都可以得到执行

这五种方式,执行的先后顺序是:

1.$( function(){} );和 2.$(document).ready( function(){} ); 无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。

3.$(window).load(function(){});4.window.onload = function(){} 这两种方式,总是优先于<body onload="executeAfterloadedBody()">执行。他们两者执行顺序也是根据谁在上方谁先执行。

5.<body onload="executeAfterloadedBody()">总是最后执行。


<script type='text/javascript'> 
  window.onload = function(){ 
    alert("window_html loaded====》onload"); 
  } 

  $(window).load(function(){ 
    alert("jquery===》window_html loaded" ); 
  }) 

  $(document).ready(function () { 
    alert("jquery====》document loaded"); 
  }); 

  $(function(){ 
    alert("jquery====》document onload"); 
  }); 

  function executeAfterloadedBody(){ 
    alert("====》onload"); 
  }

</script> 
<body onload="executeAfterloadedBody()"> 
</body> 

参考:https://www.cnblogs.com/Loveonely/p/8118256.html

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: