
window.onload=function()...{
//????
var hello = document.getElementById('hello');
hello.className="declared";
var empty = document.getElementById('empty');
addNode(empty,"reader of","br");
addNode(empty,"Ajax in Action","br");
var children = empty.childNodes;
for(var i=0;i<children.length;i++)...{
children[i].className="programe";
}
empty.style.border='solid green 2px';
empty.style.width='200px';
}

function addNode(ele,text,br)...{
if(text==null)...{
ele.appendChild(document.createElement("br"));
}else...{
var childEl =document.createElement("div");//?????
ele.appendChild(childEl);
var txtNode = document.createTextNode(text);//?????
childEl.appendChild(txtNode);
if(br!=null)
ele.appendChild(document.createElement(br));
}
}
//
var i=0;

function addListItemUsingInnerHTML(ele,text)...{
var obj = document.getElementById(ele);
obj.innerHTML+="<div class='programe'>"+text+"</div><br>";
}
//

function showEmpty(ele)...{
var obj = document.getElementById(ele);

if(obj!=null)...{
if(obj.style.display==''||obj.style.display=='inline')...{
obj.style.display='none';
}
else...{
addNode(obj,"txt"+(i++),"br");
obj.style.display='inline';
}
}
}
Ajax封装状态,基础

/**//*
version:0.0.1
Date:2007.2.11 In China
Mail:yanweiboy@hotmail.com
*/
var net =new Object();//????
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;

net.ContentLoader=function(url,onload,onerror)...{//????
this.url=url;
this.req=null;
this.onload=onload;
this.onerror=(onerror) ? onerror: this.defaultError;
this.loadXMLDoc(url);
}

net.ContentLoader.prototype=...{
loadXMLDoc:function(url)...{
if(window.XMLHttpRequest)...{
this.req=new XMLHttpRequest();
}else if(window.ActiveXObject)...{
this.req=new ActiveXObject("Microsoft.XMLHTTP");
}
if(this.req)...{
try...{
var loader=this;
this.req.onreadystatechange=function()...{
loader.onReadyState.call(loader);
}
this.req.open('GET',url,true);
this.req.send(null);
}catch(err)...{
this.onerror.call(this);
}
}
},

onReadyState:function()...{
var req = this.req;
var ready = req.readyState;

if(ready==net.READY_STATE_COMPLETE)...{
var httpStatus=req.status;
if(httpStatus==200||httpStatus==0)...{
this.onload.call(this);
}else...{
this.onerror.call(this);
}
}
},

defaultError:function()...{
alert("error fetching data!"
+" readyState: "+this.req.readyState
+" stats: "+this.req.status
+" headers: "+this.req.getAllResponseHeaders()
);
}
}
本文介绍了一个简单的Ajax封装方案及DOM元素操作方法,通过具体的示例代码展示了如何使用JavaScript进行页面元素的创建、添加及样式修改,并实现了Ajax请求过程中的状态监测与回调处理。
998

被折叠的 条评论
为什么被折叠?



