数据库
数据库使用ACCESS,数据表只有一张,即t_column。字段如下:
| 字段名称 |
字段类型 |
说明 |
| c_Id |
自动编号 |
ID,主键 |
| c_ParentId |
数字 |
父ID,默认0 |
| c_Name |
文本(50) |
栏目名称 |
| c_Depth |
数字 |
所在层级,默认0 |
| c_ChildNum |
数字 |
子栏目数,默认0 |
Javascript部分
var xmlHttp; //定义一个全局变量
//取得页面对象
//id,层id
function GetId(id)
{
return document.getElementById(id);
}
说明:这个大家应该都明白了,就是获得页面指定层的ID,因为用的比较多,所以单独写成了函数以便调用。
//主函数,用于层和图标的样式及执行AJAX
//id,层id
//rid,数据在表中的id
//pid,图id
function DivDisplay(id,rid,pid)
{
if (GetId(id).style.display=='')
{
GetId(id).style.display='none';
GetId(pid).src = 'images/closed.gif';
}
else
{
GetId(id).style.display='';
GetId(pid).src = 'images/opened.gif';
if (GetId(id).innerHTML=='')
{
ShowChild(id,rid);
}
}
}
说明:此函数是当栏目前的图标被点击时(onclick)的处理函数。当其子栏目处于显示状态时,单击后将子栏目隐藏,并将前面的图标变为关闭 ;当其子栏目处于隐藏状态时,单击后首先判断子栏目是否已经加载到页面,如果没有则通过ajax方法加载,然后显示,如果已经加载,则直接显示,同时将前面的图标变为打开
。
//创建XMLHttpRequest对象
function CreateXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
xmlHttp = new XMLHttpRequest();
}
}
说明:此函数是创建XMLHttpRequest对象,如果是IE,则创建ActiveXObject,如果是FireFox等其它浏览器则直接创建XMLHttpRequest()。
//Ajax处理函数
//id,层id
//rid,数据在表中的id