网页实现未加载完毕显示loading效果

2020-10-19   阅读:2883   类型:前端   分类:JavaScript    标签: JavaScript

当网页页面加载文件、或者图片过多是,要等很久才打开,解决方法是增加服务器配置,但是没条件的话,可以考虑通过js判断页面是否加载完毕,加载完毕后在显示内容,没加载完毕显示加载中,这种在H5邀请函中经常看见。以下是实现方法,供大家参考。

loading.js

判断页面是否在家完毕,未加载完毕显示loading效果

var _PageHeight = document.documentElement.clientHeight,
  	_PageWidth = document.documentElement.clientWidth;
	//计算loading框距离顶部和左部的距离(loading框的宽度为215px,高度为61px)
var _LoadingTop = _PageHeight > 61 ? (_PageHeight - 61) / 2 : 0,
	_LoadingLeft = _PageWidth > 215 ? (_PageWidth - 215) / 2 : 0;
//在页面未加载完毕之前显示的loading Html自定义内容
var _LoadingHtml = '<div id="loadingDiv" style="height:' + _PageHeight + 'px;"><div style="left: ' + _LoadingLeft + 'px; top:' + _LoadingTop + 'px;"></div></div>';
//呈现loading效果
document.write(_LoadingHtml);
//监听加载状态改变
document.onreadystatechange = completeLoading;
//加载状态为complete时移除loading效果
function completeLoading() {
  	if (document.readyState == "complete") {
 		var loadingMask = document.getElementById('loadingDiv');
 		loadingMask.parentNode.removeChild(loadingMask);
  	}
}

loading样式设置

#loadingDiv{position:absolute;left:0;width:100%;top:0;background:#fff;z-index:10000}
#loadingDiv div{position:absolute;width:auto;height:105px;padding-left:215px;background:#fff url(../images/loading.gif) no-repeat center center/50px 50px}

loading图片下载

loading.gif

腾讯云11.11上云拼团Go,2核2G3M云服务器 28元/年

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://tpxhm.com/fdetail/474.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×