您现在的位置:主页 > 行情 >

JavaScript中onload和load的区别是什么?

更新时间:2020-12-14 19:37:39

  区别:load只是表明事件方法,但并未执行;onload表示加载完页面所有东西以后才执行,在页面只允许出现一个onload函数,因为它可编函数个数只有一个。onload可能会有元素没有加载完就执行,load等所有的元素加载完后才执行。

  相关:《jQuery视频教程》

  在写交互的时候,加载函数使onload还是load呢?

  趁机整理以防遗忘!!

  js中window.onload(function)等价于jquery中$(window).onload(function)

  一:window.load这个只是表明事件方法,但并未执行,比如hover、click表示事件,必须用上hover、onclick他才会执行

  在页面加载渲染的时候通常会有一个Loading效果,这时就可以用它了:

  JS:

   $(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函数,因为它可编函数个数只有一个:

  JS:

  <!DOCTYPE html> <html lang="en"> <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 lang="en"> <head> <meta charset="utf-8"> <title>demo float</title> <script type="text/javascript" src="这是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('loadingp'); loadingMask.parentNode.removeChild(loadingMask); } }

  最后总结一下:

  js:window.onload页面一运行就执行该函数,执行该函数时,可能页面中的图片还没有加载完成!

  jquery: $(window).load()页面中的图片或其它东西加载完成之后,执行该函数。

  调用load方法的完整格式是:load( url, [data], [callback] )参数分别url地址、文件类型(php、html等)、回调函数,也支持选择器加载load("test.html #内容id名")

  编程教学!!