easyui页面一打开的时候出现短暂混乱的问题

问题描述

今天遇到一个问题,使用jQuery easyUI编写的界面,就是在一进入主界面的时候,页面的并不是马上就展现,而是会有一个混乱的过程,之后一闪就又好了。其实这个就是因为easyui是在dom载入完毕之后才会对整个页面进行解析。

解决办法

要解决这个问题其实只要好好利用这个onComplete 事件在结合一个载入遮罩就解决问题了。

下面是具体的操作

方法一:

  1. 首先你在body下面第一行加入一个载入提示遮罩div
<div id='Loading' style="position:absolute;z-index:1000;top:0px;left:0px;width:100%;
	height:100%; background:#DDDDDB url('style/images/bodybg.jpg'); text-align:
	center;padding-top: 20%;">
   <h1>
        <image src='style/images/loading.gif'/>
        <font color="#15428B">
             加载中···
        </font>
   </h1>
</div>
  1. 再在head里面就加入一段js:
<script>
function closes(){
	$("#Loading").fadeOut("normal",function(){
		$(this).remove();
	});
}
var pc;
$.parser.onComplete = function(){
	if(pc) clearTimeout(pc);
	pc = setTimeout(closes, 1000);
}
</script>

方法二:

单独写一个js文件:beforeDatagrid.js

var shadeDiv = "<div id='PageLoadingTip' style='position: absolute; z-index: 1000; top: 0px; left: 0px; width: 100%; height: 100%; background: #C0C0C0; text-align: center;'>	<h2 style='top: 40%; position: relative; color: white;'>页面加载中···</h2>	</div>"

document.write(shadeDiv);

function _PageLoadingTip_Closes() {
	$("#PageLoadingTip").fadeOut("normal", function() {
		$(this).remove();
	});
}

var _pageloding_pc;

$.parser.onComplete = function() {
	if (_pageloding_pc)
		clearTimeout(_pageloding_pc);
	_pageloding_pc = setTimeout(_PageLoadingTip_Closes, 200);
}

然后在jsp的head标签里面引入beforeDatagrid.js文件即可

<script type="text/javascript" src="${ctx }/js/beforeDatagrid.js"></script> 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值