js $(document).ready()、()(jQuery)、window.onload=function(){} 区别

一、()(jQuery);自执行函数

说明:不用等到DOM加载完成,就可以执行

二、$(document).ready(function(){...}) 

可简写为:$(function(){})

说明:文档结构已经加载完成(不包含图片等非文字媒体文件),不必等到所有的加载完毕。

纯JS执行代码

if (document.addEventListener){   //非ie浏览器  

       document.addEventListener("DOMContentLoaded", init, false);  

} else if (document.attachEvent){   //ie浏览器  

        document.onreadystatechange=function(){        

if (this.readyState == 'complete') {           init();          }    

 }}  


三、window.οnlοad=function(){};  等价于:$(window).load(function (){        // 编写代码  });  

说明:在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行的


另外补充:
jquery ready可以写好几个,每个都执行 
onload只能写一个,你写好几个,也只执行一个,好像是执行最后一个,而$(window).load()可以加载多个函数

js: window.onload页面一运行就执行该函数,执行该函数时,可能页面中的图片还没有加载完成!
jquery: $(window).load()页面中的图片或其它东西加载完成之后,执行该函数。


补充1:刷新也只执行一次
刷新后只让$(window).load(function(){...})和body.onload()都执行一次的方法,cookie中实现(以body.onload()举例,$(window).load也可以照样该)

function loadpopup(){ 

if (get_cookie('popped')==''){ 

//这里放要执行的代码,这样就现实了只执行一次的


document.cookie="popped=yes" ;

}


</script>
</head> 
<body οnlοad="loadpopup()">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值