Iframe loading效果制作!
<body>
<div id="load" align="center">
<img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" /> loading...
</div> <!-- 首先放一个div,用做loading效果 -->
<iframe id="demo" src="http://www.baidu.com/" width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0"></iframe> <!-- src 里面放你想要的网页-->
<script type="text/javascript">
//<![CDATA[
var a = document.getElementById("demo");
var b = document.getElementById("load");
a.style.display = "none"; //隐藏
b.style.display = "block"; //显示
a.onreadystatechange = function() {
if (this.readyState=="complete") { //最近才知道的。不然也写不出来。
// 解释:一个iframe加载完毕的状态是complete,
// 就象xmlhttp里的那个==4一样,这些都是规定的...
b.innerHTML = "load complete!";
b.style.display = "none";
a.style.display = "block";
}
}
//]]>
<div id="load" align="center">
<img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" /> loading...
</div> <!-- 首先放一个div,用做loading效果 -->
<iframe id="demo" src="http://www.baidu.com/" width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0"></iframe> <!-- src 里面放你想要的网页-->
<script type="text/javascript">
//<![CDATA[
var a = document.getElementById("demo");
var b = document.getElementById("load");
a.style.display = "none"; //隐藏
b.style.display = "block"; //显示
a.onreadystatechange = function() {
if (this.readyState=="complete") { //最近才知道的。不然也写不出来。
// 解释:一个iframe加载完毕的状态是complete,
// 就象xmlhttp里的那个==4一样,这些都是规定的...
b.innerHTML = "load complete!";
b.style.display = "none";
a.style.display = "block";
}
}
//]]>
</script>
</body>
![](http://hiphotos.baidu.com/comasp/pic/item/bcc20d958229c3027af48046.jpg)
看了人家的代码:
var state = this.readyState;
if (state == "loaded" || state == "interactive" || state == "complete") {
this.onreadystatechange = null;
b.innerHTML = "load complete!";
b.style.display = "none";
a.style.display = "block";
if (state == "loaded" || state == "interactive" || state == "complete") {
this.onreadystatechange = null;
b.innerHTML = "load complete!";
b.style.display = "none";
a.style.display = "block";
}
else
{
window.setTimeout( "回调函数" , 100);
}
好象比我的要更加严密。
但我有点不懂。我的函数是这么写的 a.onreadystatechange = function() {}
那么我这个回调函数该怎么写。
看人家的代码:
function on(){
if ( window.onload )
{
alert( "page onload." );
}
else{
window.setTimeout( on, 1000);
}
}
on();
if ( window.onload )
{
alert( "page onload." );
}
else{
window.setTimeout( on, 1000);
}
}
on();