如何让页面加载完成后执行js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让页面加载完成后执行js相关的知识,希望对你有一定的参考价值。

//加载事件
window.onload=function()
    alert('加载完毕');
;

以下是window.onload与 $(document).ready()的加载区别,可以参照下

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

参考技术A

让页面加载完执行js有2种方法,js放在文档代码的下方和把语句代码放在window.onload方法里面。

js放在文档代码的下方

这是一个最简单的文档结构,引用的javascript文件都放在body的最下方和把语句放在window.onload函数里面,可以让javascript在页面加载完成后执行。

<!doctype html>  

<html>  

<head> 

<title>helloWorld--zxk</title>  

</head>  

<body>

<div></div>

<script src="xxx"></script>

</body>  

</html>  

把语句代码放在window.onload函数里面

例如这段代码,虽然script标签没有在最下方,但javascript语句放在了window.onload里面,所以可以在文档加载完成后执行。

<!doctype html>

<html>

<head>

<title>helloWorld--zxk</title>

<script>

      window.onload=function()

    alert('页面加载完成!');

     

</script>

</head>

<body>

<div></div>

</body>

</html>

参考技术B 1.js方法
window.onload=test();
function test()
//要执行的代码

2.jquery方式
$(docunment).ready(function()
//要执行的代码。
);
推荐用jquery

js中页面加载完成后执行的几种方式及执行顺序

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="aaa()">等待body加载完成,就会执行aaa()方法。

那么,这五种方式,执行的先后顺序是怎么样的呢?

通过下方代码验证发现:

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

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

       使用5:<body onload="aaa()">总是最后执行。

重点到了!如果要对未来元素操作的话以上这些对IE浏览器是不管用的。要等未来元素加载完后再执行js的话,我们就要给个定时器达到延迟加载的效果:

$(window).load(function(){
  setTimeout(function(){
    console.log($(".tbody tr"))
    $(".tbody tr:odd").css("backgroundColor","#F5F6FA");
  },30)
});

  

以上是关于如何让页面加载完成后执行js的主要内容,如果未能解决你的问题,请参考以下文章

JSP页面JS和VBS的先后执行顺序。如何让VBS代码在页面加载完成后执行。

js 怎么让图片加载完成后才执行下面代码

js 怎么让图片加载完成后才执行下面代码?

js 怎么让图片加载完成后才执行下面代码?

如何让js在页面加载后只执行一次,也就是再次刷新当前页,不再执行js

jQuery如何实现页面加载完毕再去执行代码