js中window.onload(function)等价于jquery中$(window).onload(function)。
window.load
这个只是表明事件方法,但并未执行,比如hover、click表示事件,必须用上hover、onclick他才会执行
在页面加载渲染的时候通常会有一个Loading效果,这时就可以用它了:
$(window).load(function(){ $(".loadingicon").addClass("loader-chanage"); $(".loadingicon").fadeOut(300,function(){ $(".loadingicon").remove(); $(".maker").show().animate({"right":"0"},500); }); })
(window).load(function)页面当中的图片和其他资源加载完成之后才会执行;
window.onload
这个表示加载完页面所有东西以后才执行,在页面只允许出现一个onload函数,因为它可编函数个数只有一个:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo float</title> </head> <body> <script type="text/javascript"> window.onload = function(){ alert("这是1");}; window.onload = function(){ alert("这是2");}; </script> </body> </html>
说完以上还有一个Jquery的$(document).ready(function),网页中的所有DOM结构绘制完毕后就执行,可能DOM元素关联的内容没有加载完,例如图片以及设置的相关高度宽度等,这时可以考虑jquery中的load方法规避;另外$(document).ready(function)可编写函数不限,如:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo float</title> <script type="text/javascript" src="http://static.ruilife.net/static/js/jquery-1.9.1.min.js"> </script> </head> <body> <script type="text/javascript"> $(document).ready(function(){ console.log("这是1");}); $(document).ready(function(){ console.log("这是2");}); </script> </body> </html>
document
document.write(_LoadingHtml); //监听加载状态改变 document.onreadystatechange = completeLoading; //加载状态为complete时移除loading效果 function completeLoading() { if (document.readyState == "complete") { var loadingMask = document.getElementById('loadingDiv'); loadingMask.parentNode.removeChild(loadingMask); } }
最后总结一下:
js:window.onload页面一运行就执行该函数,执行该函数时,可能页面中的图片还没有加载完成!
jquery: $(window).load()页面中的图片或其它东西加载完成之后,执行该函数。
调用load方法的完整格式是:load( url, [data], [callback] )参数分别url地址、文件类型(php、html等)、回调函数,也支持选择器加载load("test.html #内容id名")。
网友评论文明上网理性发言 已有0人参与
发表评论: