如何让DIV中在没有被完全加载的时候显示“数据加载中..”

ggp 技术 2013-01-24 505 次浏览

思路是:div1放一个<span id=””>加载中……</span>? 还有你要加载的其他东西放到你的div2中;加载此div1时隐藏你的内容div2,显示<span>? ;在div2中加一onload事件即加载完成执行 隐藏<span>显示你的div2

具体的步骤为:

第一步:将以下代码复制到<head>和</head>标记之中:

<script language=”JavaScript” type=”text/javascript”>
var t_id = setInterval(animate,20);
var pos=0;
var dir=2;
var len=0;
function animate()
{
??? var elem = document.getElementById(’progress’);
??? if(elem != null) {
??? if (pos==0) len += dir;
??? if (len>32 || pos>79) pos += dir;
??? if (pos>79) len -= dir;
??? if (pos>79 && len==0) pos=0;
??? elem.style.left = pos;
??? elem.style.width = len;
??? }
}
function remove_loading() {
??? this.clearInterval(t_id);
??? var targelem = document.getElementById(’loader_container’);
??? targelem.style.display=’none’;
??? targelem.style.visibility=’hidden’;
}
</script>
<style>
#loader_container {
??? text-align:center;
??? position:absolute;
??? top:40%;
??? width:100%;
??? left: 0;
}
#loader {
??? font-family:Tahoma, Helvetica, sans;
??? font-size:11.5px;
??? color:#000000;
??? background-color:#FFFFFF;
??? padding:10px 0 16px 0;
??? margin:0 auto;
??? display:block;
??? width:130px;
??? border:1px solid #5a667b;
??? text-align:left;
??? z-index:2;
}
#progress {
??? height:5px;
??? font-size:1px;
??? width:1px;
??? position:relative;
??? top:1px;
??? left:0px;
??? background-color:#8894a8;
}
#loader_bg {
??? background-color:#e4e7eb;
??? position:relative;
??? top:8px;
??? left:8px;
??? height:7px;
??? width:113px;
??? font-size:1px;
}
</style>

第二步:将以下代码复制到<body>和</body>标记之中:

<body onLoad=”remove_loading();”>
<div id=”loader_container”>
??? <div id=”loader”>
??? <div align=”center”>页面正在加载中 …</div>
??? <div id=”loader_bg”><div id=”progress”> </div></div>
??? </div>
</div>
</body>

注:这里的<body onLoad=”remove_loading();”>已经包含了一个<body>标记,不需要在添加一个。最后我已经加了一个</body>,要复制的时候小心不要和原有的<body>标签重复。

回顶部