JS 判断页面加载状态以及添加遮罩和缓冲动画的代码废话少说,直接贴代码!有注释
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
- function initialize() {
- addcloud(); //为页面添加遮罩
- document.onreadystatechange = subSomething; //监听加载状态改变
- }
- function addcloud() {
- var bodyWidth = document.documentElement.clientWidth;
- var bodyHeight = Math.max(document.documentElement.clientHeight, document.body.scrollHeight);
- var bgObj = document.createElement("div" );
- bgObj.setAttribute( 'id', 'bgDiv' );
- bgObj.style.position = "absolute";
- bgObj.style.top = "0";
- bgObj.style.background = "#000000";
- bgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75" ;
- bgObj.style.opacity = "0.5";
- bgObj.style.left = "0";
- bgObj.style.width = bodyWidth + "px";
- bgObj.style.height = bodyHeight + "px";
- bgObj.style.zIndex = "10000"; //设置它的zindex属性,让这个div在z轴最大,用户点击页面任何东西都不会有反应|
- document.body.appendChild(bgObj); //添加遮罩
- var loadingObj = document.createElement("div");
- loadingObj.setAttribute( 'id', 'loadingDiv' );
- loadingObj.style.position = "absolute";
- loadingObj.style.top = bodyHeight / 2 - 32 + "px";
- loadingObj.style.left = bodyWidth / 2 + "px";
- loadingObj.style.background = "url(../img/loading.gif)" ;
- loadingObj.style.width = "32px";
- loadingObj.style.height = "32px";
- loadingObj.style.zIndex = "10000";
- document.body.appendChild(loadingObj); //添加loading动画-
- }
- function removecloud() {
- $( "#loadingDiv").remove();
- $( "#bgDiv").remove();
- }
- function subSomething() {
- if (document.readyState == "complete" ) //当页面加载完毕移除页面遮罩,移除loading动画-
- {
- removecloud();
- }
- }
来源: