动态载入asp树源码

时间:2007-09-06 19:34:00 

一个动态载入asp树源码。把 node.htc, style.css 保存与 css 目录下. index.asp subtree.asp 放与根目录.
另新建一ACCESS数据库 tree.mdb
表deeptree 结构为 id,content, parentid,link

页面: index.asp


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 
<%Option Explicit%> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>tree</title> 
<link href="css/style.css" rel="stylesheet" type="text/css"> 
<script language="JavaScript"> 
<!-- 
var d1,d2; 
function expand(id) 

 var d=new Date(); 
 d1=d.valueOf(); 
 var s_id = eval("s" + id); 
 var dir_id = eval("dir" + id); 
 if(s_id.href != ’’) 
 { 
  //window.open(s_id.href); 
  //or 
  //top.frames[’FrameName’].location.href = s_id.href; 
 } 
 switch(dir_id.open) 
 { 
  //改变"+","-" 
  case "true": 
  { 
   with(dir_id) 
   { 
    innerText = "+"; 
    open = "false"; 
    className = ’dirclose’; 
   } 
   if(document.getElementById("t" + id)) 
   { 
    eval("t"+id).style.display = ’none’; 
    document.getElementById("load_" + id).style.display = ’none’; 
    return; 
   } 
   else 
   { 
    document.getElementById("load_" + id).style.display = ’none’; 
   } 
   break; 
  } 
  case "false": 
  { 
   with(dir_id) 
   { 
    innerText = "-"; 
    open = "true"; 
    className = ’diropen’; 
   } 
    
   document.getElementById("load_" + id).style.display = ’’; 
    
   if(document.getElementById("t" + id)) 
   { 
    eval("t" + id).style.display = ’’; 
    eval("load_" + id).style.display = ’none’; 
    return; 
   } 
      else  
   { 
    document.frames[’hifm’].location.replace("subtree.asp?id=" + id); 
   } 
      break; 
  } 
  default:dir_id.innerText = "."; dir_id.className = ’dirNode’; return; 
 } 

function ArrToHtml(ArrNode,nodeid) 

 //输出到页面 
 var node_html = ’<table id="t’ + nodeid + ’" width="100%" border="0" style="position: relative; left: 18px;" cellspacing="0" cellpadding="0">’; 
 var str,opened,cls 
 for (var i = 0; i < ArrNode.length; i++) 
 { 
  if (ArrNode[i].iChildren == 0) 
  { 
   str = ’.’; 
   opened = ’no’; 
   cls = ’dirNode’; 
  } 
  else 
  { 
   str = ’+’; 
   opened = ’false’; 
   cls = ’dirclose’; 
  } 
  node_html += ’<tr><td id="node’ + ArrNode[i].id + ’" class="td_node" valign="top"><span class="’ + cls + ’" id="dir’ + ArrNode[i].id + ’" onclick="expand(’ + ArrNode[i].id + ’)" open="’ + opened + ’">’ + str + ’</span><span class="node" id="s’ + ArrNode[i].id + ’" onclick="expand(’ + ArrNode[i].id + ’)" title="’ + ArrNode[i].Content + ’" href="’ + ArrNode[i].strLink + ’">’ + ArrNode[i].Content + ’</span></td></tr>’; 
  if (ArrNode[i].iChildren > 0) 
  { 
   node_html += ’<tr id="load_’ + ArrNode[i].id + ’" style="display: none"><td class="td_node"><table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18; top: 0px"><tr><td class="td_node"><span class="dirNode">.</span><span class="load">Loading...</span></td></tr></table></td></tr>’; 
  } 
 } 
 node_html += ’</table>’; 
 if (document.getElementById("load_" + nodeid)) 
 { 
  document.getElementById("load_" + nodeid).style.display = "none"; 
  document.getElementById("node" + nodeid).innerHTML += node_html; 
  var d=new Date(); 
  d2=d.valueOf(); 
  message.innerHTML = "耗时:"+(d2-d1)+"ms"; 
 } 

--> 
</script> 
</head> 
<body topmargin="0" leftmargin="0" scroll="yes"> 
<% 
Dim conn,rs 
Dim s,open,cls 
On Error Resume Next 
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("tree/tree.mdb") & ";Persist Security Info=False" 
Set rs = Server.CreateObject("ADODB.Recordset") 
rs.Open "select *,(select count(*) from deeptree where parentid = T.id) as children from deeptree T where parentid=0 order by parentid",conn,1,3 
%> 
<div id="message" style="height: 20px" align="center">   </div> 
<div align="center"> 
  <center> 
    <table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%" bgcolor="#F2F2F2"> 
      <tr> 
        <td width="260" valign="top" align="left"> 
          <div id="treedir" style="overflow: auto; width: 30%; height: 100%;"> 
         <table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18px; top: 20px;" width="100%"> 
   <% 
   Do While Not rs.EOF 
    If rs("children") = 0 Then 
     s = "." 
     open = "no" 
     cls = "dirNode" 
    Else  
     s = "+" 
     open = "false" 
     cls = "dirclose" 
    End If 
   %> 
         <tr> 
     <td id="node<% = rs("id")%>" class="td_node" valign="top"><span class="<% = cls %>" id="dir<% = rs("id") %>" onclick="expand(<%=rs("id")%>)" open="<% = open %>"><% = s %></span><span class="node" id="s<% = rs("id") %>" onclick="expand(<% = rs("id") %>)"  title="<% = Trim(rs("content")) %>" href="<% = Trim(rs("link")) %>"><% = rs("content") %></span> 
     </td> 
   </tr> 
   <% If rs("children") > 0 Then%> 
         <tr id="load_<% = rs("id") %>" style="display: none"> 
           <td class="td_node"> 
             <table border="0" cellspacing="0" cellpadding="0" style="position:relative;left:18;top:0" width="100%"> 
            <tr> 
              <td class="td_node"><span class="dirNode">.</span><span class="load">Loading...</span> 
                    </td> 
                  </tr> 
                </table> 
              </td> 
            </tr> 
   <%End If%> 
   <% 
    rs.MoveNext 
   Loop 
   %> 
          </table> 
        </div> 
      </td> 
    </table> 
  </center> 
</div> 
<% 
Set rs = Nothing 
Set conn = Nothing 
%> 
<iframe id=’hifm’ width=0 height=0 style="display: none" height="100%" width="100%"></iframe> 
</body> 
</html>


标签:asp,树
0
投稿

猜你喜欢

  • numpy中的transpose函数中具体使用方法

    2023-04-28 23:46:44
  • 详解Django3中直接添加Websockets方式

    2021-01-05 01:43:22
  • python字符串常见使用操作方法介绍

    2023-12-11 00:20:28
  • Python闭包与装饰器原理及实例解析

    2023-04-08 19:44:30
  • 一文读懂Python版本管理工具Pyenv使用

    2023-04-23 12:59:17
  • JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解

    2023-07-13 11:20:21
  • python ip正则式

    2022-02-13 22:13:02
  • 详解python ThreadPoolExecutor异常捕获

    2023-08-09 12:54:30
  • PYQT5 vscode联合操作qtdesigner的方法

    2023-10-31 16:46:41
  • python如何调用字典的key

    2023-09-02 01:57:52
  • python实现弹窗祝福效果

    2021-09-08 04:22:15
  • 我的ImageMagick使用心得

    2008-10-21 11:05:00
  • 联邦学习论文解读分散数据的深层网络通信

    2023-09-06 00:07:37
  • 18个Python脚本可加速你的编码速度(提示和技巧)

    2022-11-09 16:54:34
  • 浅谈基于Pytest框架的自动化测试开发实践

    2022-12-20 10:02:44
  • 对Python3 * 和 ** 运算符详解

    2023-08-05 10:15:27
  • 纯js实现瀑布流布局及ajax动态新增数据

    2023-08-08 07:11:23
  • Python 中如何使用 virtualenv 管理虚拟环境

    2022-02-20 00:57:44
  • 用DW8制作网页中常用的过度效果

    2007-10-16 12:56:00
  • pycharm2020.1.2永久破解激活教程,实测有效

    2021-11-01 15:17:57
  • asp之家 网络编程 m.aspxhome.com