小编给大家分享一下JavaScript中onload和load有哪些区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
区别:load只是表明事件方法,但并未执行;onload表示加载完页面所有东西以后才执行,在页面只允许出现一个onload函数,因为它可编函数个数只有一个。onload可能会有元素没有加载完就执行,load等所有的元素加载完后才执行。
在写交互的时候,加载函数使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="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('loadingp');
loadingMask.parentNode.removeChild(loadingMask);
}
}
最后总结一下:
js:window.onload页面一运行就执行该函数,执行该函数时,可能页面中的图片还没有加载完成!
jquery: $(window).load()页面中的图片或其它东西加载完成之后,执行该函数。
调用load方法的完整格式是:load( url, [data], [callback] )参数分别url地址、文件类型(php、html等)、回调函数,也支持选择器加载load("test.html #内容id名")
看完了这篇文章,相信你对JavaScript中onload和load有哪些区别有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。