Ajax实现无刷新树

Ajax实现无刷新树
1.建立一个aspx页面
html代码
Ajax实现无刷新树<htmlxmlns="http://www.w3.org/1999/xhtml">
Ajax实现无刷新树
<headid="Head1"runat="server">
Ajax实现无刷新树
<title>小山</title>
Ajax实现无刷新树
<linktype="text/css"href="../../Styles/tree_css/tree.css"rel="stylesheet">
Ajax实现无刷新树
</head>
Ajax实现无刷新树
<body>
Ajax实现无刷新树
<formid="Form1"runat="server">
Ajax实现无刷新树
<tablewidth=100%cellpadding=0cellspacing=0border=0>
Ajax实现无刷新树
<colgroup>
Ajax实现无刷新树
<colwidth=180/>
Ajax实现无刷新树
<col/>
Ajax实现无刷新树
</colgroup>
Ajax实现无刷新树
<tr>
Ajax实现无刷新树
<td>
Ajax实现无刷新树
<divclass="TreeMenu"id="CategoryTree"style="width:100%;height:489px">
Ajax实现无刷新树
</div>
Ajax实现无刷新树
</td>
Ajax实现无刷新树
<td>
Ajax实现无刷新树
<iframeid=furlheight=20style="height:497px;width:100%;"></iframe>
Ajax实现无刷新树
</td>
Ajax实现无刷新树
</tr>
Ajax实现无刷新树
</table>
Ajax实现无刷新树
Ajax实现无刷新树Ajax实现无刷新树
<scriptlanguage="jscript">Ajax实现无刷新树
Ajax实现无刷新树
functionel(id)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
returndocument.getElementById(id);
Ajax实现无刷新树}

Ajax实现无刷新树
functionExpandSubCategory(iCategoryID)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varli_father=el("li_"+iCategoryID);
Ajax实现无刷新树
if(li_father.getElementsByTagName("li").length>0)//分类已下载
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树ChangeStatus(iCategoryID);
Ajax实现无刷新树
return;
Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树li_father.className
="Opened";
Ajax实现无刷新树
Ajax实现无刷新树switchNote(iCategoryID,
true);
Ajax实现无刷新树AjaxMethod.GetSubCategory(iCategoryID,GetSubCategory_callback);
Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
functionGetSubCategory_callback(response)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
vardt=response.value.Tables[0];
Ajax实现无刷新树
if(dt.Rows.length>0)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
variCategoryID=dt.Rows[0].FatherID;
Ajax实现无刷新树}

Ajax实现无刷新树
varli_father=el("li_"+iCategoryID);
Ajax实现无刷新树
varul=document.createElement("ul");
Ajax实现无刷新树
for(vari=0;i<dt.Rows.length;i++)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
if(dt.Rows[i].IsChild==1)//叶子节点
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varli=document.createElement("li");
Ajax实现无刷新树li.className
="Child";
Ajax实现无刷新树li.id
="li_"+dt.Rows[i].CategoryID;
Ajax实现无刷新树
Ajax实现无刷新树
varimg=document.createElement("img");
Ajax实现无刷新树img.id
=dt.Rows[i].CategoryID;
Ajax实现无刷新树img.className
="s";
Ajax实现无刷新树img.src
="../../Styles/tree_css/s.gif";
Ajax实现无刷新树
Ajax实现无刷新树
vara=document.createElement("a");
Ajax实现无刷新树
varid=dt.Rows[i].CategoryID;
Ajax实现无刷新树a.onmouseover
=function()
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树PreviewImage(id);
Ajax实现无刷新树}
;
Ajax实现无刷新树a.href
="javascript:OpenDocument('"+dt.Rows[i].CategoryID+"');";
Ajax实现无刷新树a.innerHTML
=dt.Rows[i].CategoryName;
Ajax实现无刷新树}

Ajax实现无刷新树
else
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varli=document.createElement("li");
Ajax实现无刷新树li.className
="Closed";
Ajax实现无刷新树li.id
="li_"+dt.Rows[i].CategoryID;
Ajax实现无刷新树
Ajax实现无刷新树
varimg=document.createElement("img");
Ajax实现无刷新树img.id
=dt.Rows[i].CategoryID;
Ajax实现无刷新树img.className
="s";
Ajax实现无刷新树img.src
="../../Styles/tree_css/s.gif";
Ajax实现无刷新树Ajax实现无刷新树img.onclick
=function()Ajax实现无刷新树{
Ajax实现无刷新树ExpandSubCategory(
this.id);
Ajax实现无刷新树}
;
Ajax实现无刷新树img.alt
="展开/折叠";
Ajax实现无刷新树
Ajax实现无刷新树
vara=document.createElement("a");
Ajax实现无刷新树a.href
="javascript:ExpandSubCategory("+
Ajax实现无刷新树dt.Rows[i].CategoryID
+");";
Ajax实现无刷新树a.innerHTML
=dt.Rows[i].CategoryName;
Ajax实现无刷新树}

Ajax实现无刷新树li.appendChild(img);
Ajax实现无刷新树li.appendChild(a);
Ajax实现无刷新树ul.appendChild(li);
Ajax实现无刷新树}

Ajax实现无刷新树li_father.appendChild(ul);
Ajax实现无刷新树
Ajax实现无刷新树switchNote(iCategoryID,
false);
Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
//叶子节点的单击响应函数
Ajax实现无刷新树
functionOpenDocument(iCategoryID)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
//预加载信息
Ajax实现无刷新树
PreloadFormUrl(iCategoryID);
Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
functionPreviewImage(iCategoryID)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
functionChangeStatus(iCategoryID)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varli_father=el("li_"+iCategoryID);
Ajax实现无刷新树
if(li_father.className=="Closed")
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树li_father.className
="Opened";
Ajax实现无刷新树}

Ajax实现无刷新树
else
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树li_father.className
="Closed";
Ajax实现无刷新树}

Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
functionswitchNote(iCategoryID,show)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varli_father=el("li_"+iCategoryID);
Ajax实现无刷新树
if(show)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varul=document.createElement("ul");
Ajax实现无刷新树ul.id
="ul_note_"+iCategoryID;
Ajax实现无刷新树
Ajax实现无刷新树
varnote=document.createElement("li");
Ajax实现无刷新树note.className
="Child";
Ajax实现无刷新树
Ajax实现无刷新树
varimg=document.createElement("img");
Ajax实现无刷新树img.className
="s";
Ajax实现无刷新树img.src
="../../Styles/tree_css/s.gif";
Ajax实现无刷新树
Ajax实现无刷新树
vara=document.createElement("a");
Ajax实现无刷新树a.href
="javascript:void(0);";
Ajax实现无刷新树a.innerHTML
="请稍候Ajax实现无刷新树";
Ajax实现无刷新树
Ajax实现无刷新树note.appendChild(img);
Ajax实现无刷新树note.appendChild(a);
Ajax实现无刷新树ul.appendChild(note);
Ajax实现无刷新树li_father.appendChild(ul);
Ajax实现无刷新树}

Ajax实现无刷新树
else
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树
varul=el("ul_note_"+iCategoryID);
Ajax实现无刷新树
if(ul)
Ajax实现无刷新树Ajax实现无刷新树
Ajax实现无刷新树{
Ajax实现无刷新树li_father.removeChild(ul);
Ajax实现无刷新树}

Ajax实现无刷新树}

Ajax实现无刷新树}

Ajax实现无刷新树
Ajax实现无刷新树
//加载根节点
Ajax实现无刷新树
vartree=el("CategoryTree");
Ajax实现无刷新树
varroot