这个组件可以异步加载网页文件,需要我前面写的那个AJAX的组件支持!.
其组件代码AJAXDiv.js的源码
function $(objid)
{
return document.getElementById(objid);
}
function $$(tagname)
{
return document.getElementsByTagName(tagname);
}
function AJAXDiv(objid,autoFix,loadclass)
{
//alert(objid);
this._id=objid;
this._loadClass=loadclass;
this._autoFix=autoFix;
this.init=function()
{
var obj=$(this._id);
if((this._loadClass!=null)&&(this._loadClass!=""))
{
obj.className=this._loadClass;
}
var ajaxLib=new AJAXLib();
ajaxLib.method="get";
ajaxLib.URLString=obj.rl;
ajaxLib.onCompletion=function()
{
//alert(ajaxLib.response);
obj.innerHTML=ajaxLib.response;
}
ajaxLib.onLoading=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>正在初始化...";
}
ajaxLib.onLoaded=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>初始化完毕...";
}
ajaxLib.onInteractive=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>正在解析响应...";
}
ajaxLib.Send();
if(this._autoFix)
{
obj.style.overflow="visible";
}
else
{
obj.style.overflow="scroll";
}
};
this.init();
}
{
return document.getElementById(objid);
}
function $$(tagname)
{
return document.getElementsByTagName(tagname);
}
function AJAXDiv(objid,autoFix,loadclass)
{
//alert(objid);
this._id=objid;
this._loadClass=loadclass;
this._autoFix=autoFix;
this.init=function()
{
var obj=$(this._id);
if((this._loadClass!=null)&&(this._loadClass!=""))
{
obj.className=this._loadClass;
}
var ajaxLib=new AJAXLib();
ajaxLib.method="get";
ajaxLib.URLString=obj.rl;
ajaxLib.onCompletion=function()
{
//alert(ajaxLib.response);
obj.innerHTML=ajaxLib.response;
}
ajaxLib.onLoading=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>正在初始化...";
}
ajaxLib.onLoaded=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>初始化完毕...";
}
ajaxLib.onInteractive=function()
{
obj.innerHTML="<span class="fixie"></span><img src='loading.gif'>正在解析响应...";
}
ajaxLib.Send();
if(this._autoFix)
{
obj.style.overflow="visible";
}
else
{
obj.style.overflow="scroll";
}
};
this.init();
}
测试文件test.htm:
<html>
<head>
<link href="main.css" rel="stylesheet" rev="stylesheet">
<script language="javascript" src="AJAXLib.js"></script>
<script language="javascript" src="AJAXDiv.js"></script>
<script language="javascript">
window.onload=function()
{
var ad=new AJAXDiv("ajaxdiv1",false);
var ad2=new AJAXDiv("ajaxdiv2",true)
}
</script>
</head>
<body>
<div class="ajaxdiv" id="ajaxdiv1" rl="a1.htm">
</div>
<div class="ajaxdiv" id="ajaxdiv2" rl="a2.htm">
</div>
</body>
</html>
<head>
<link href="main.css" rel="stylesheet" rev="stylesheet">
<script language="javascript" src="AJAXLib.js"></script>
<script language="javascript" src="AJAXDiv.js"></script>
<script language="javascript">
window.onload=function()
{
var ad=new AJAXDiv("ajaxdiv1",false);
var ad2=new AJAXDiv("ajaxdiv2",true)
}
</script>
</head>
<body>
<div class="ajaxdiv" id="ajaxdiv1" rl="a1.htm">
</div>
<div class="ajaxdiv" id="ajaxdiv2" rl="a2.htm">
</div>
</body>
</html>
这样就可以异步加载网页文件了,而且有加载进度提示.