类似 MSDN CSDN 左边导航树效果的实现! [JavaScript + ASP]

MSDN 和CSDN 左边导航树的效果都是在点击父节点时,再发出请求填充其子节点!好像网页只刷新部分! JavaScript + [ASP +  Access] 实现

源程序下载: http://www.triaton.com.cn/Private/Zip/Tree.zip

<!-- Tree.asp -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<iframe width="100%" height="30" id="hiddenframe"></iframe>
<script>
function ExpandNode(ParentNode,ParentId){
var NodeX = eval(ParentNode.id + '_0');
if (NodeX.style.display == 'none')
   {
    NodeX.style.display="block";
    if (NodeX.loaded == 'no')
       {
        document.frames['hiddenframe'].location.replace("http://localhost/dvbbs/subtree.asp?PID=" + ParentId + "&PNode=" + ParentNode.id);
        NodeX.loaded = 'yes';
      }
   }
else
   {
    NodeX.style.display='none';
   }
}
</script>
<CENTER>
<TABLE border="1" width="20%" height="60%">
   <TR>
      <TD>
         <DIV style="OVERFLOW: auto;WIDTH: 100%;HEIGHT:100%">
            <TABLE width =300%>
               <TR>
                   <TD>
<%
  dim adoConnection
  set adoConnection = Server.CreateObject("ADODB.Connection")
  'adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=TRIATON/PSQL2KE"
  adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("/dvbbs") & "/Tree.mdb;Persist Security Info=False"
  dim adoRecordset
  set adoRecordset = Server.CreateObject("ADODB.Recordset")
  adoRecordset.Open "select *,(select count(*) from tree where parentid = T.id) as children from tree T where rootid = id ",adoConnection
  dim i
  i=0
  do until adoRecordset.eof
 %>
<div id='Node_<% = i %>'>
     <a href='#'
<%  if adoRecordset.Fields.item("Children").value >0 then %>
        onClick='ExpandNode(Node_<% = i %>,<% =adoRecordset.Fields.item("id").value%>)'>+</a>
  <% else %>
        >-</a>
  <% end if%>
<a href='#' onDblClick='ExpandNode(Node_<% = i %>,<% =adoRecordset.Fields.item("id").value%>)'><% =adoRecordset.Fields.item("remark").value%></a>
</div>
<div id='Node_<% = i %>_0' style='display: none' loaded='no'>
      &nbsp;&nbsp;正在加载 ...
     </div>
<%   i=i+1
     adoRecordset.MoveNext
  loop
  adoRecordset.close
  set adoRecordset = nothing
  adoConnection.close
  set adoConnection = nothing
%>
                   </TD>
               </TR>
            </TABLE>
         </DIV>
      </TD>
   </TR>
</TABLE>
</CENTER>
</BODY>
</HTML>

 

<!-- SubTree.asp -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<%
  dim parentid
  parentid = request.querystring("PID")
  parentnode = request.querystring("Parentnode")
  dim adoConnection
  set adoConnection = Server.CreateObject("ADODB.Connection")
'  adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=TRIATON/PSQL2KE"

  adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("/dvbbs") & "/Tree.mdb;Persist Security Info=False"
  dim adoRecordset
  set adoRecordset = Server.CreateObject("ADODB.Recordset")
  adoRecordset.Open "select *,(select count(*) from tree where parentid =T.id ) as Children from tree T where parentid = " & parentid ,adoConnection
  response.write  adoRecordset.source
  dim i
  Dim SHTML
  dim parentnode
  parentnode = request.querystring("Pnode")
  dim j
  j= len(parentnode) - len(replace(parentnode,"_",""))
  dim nSpace
  for i=0 to j - 1
      nSpace = nSpace + "&nbsp;&nbsp;"
  next
  i=0
  do until adoRecordset.eof
     shtml = shtml _
             & "<div id='" & parentnode & "_" & i + 1 & "'>" & nSpace _
             & "<a href='#'"
      if adoRecordset.Fields.item("Children").value >0 then
         shtml = shtml & " onClick='ExpandNode(" & parentnode & "_" & i + 1 & "," & adoRecordset.Fields.item("id").value & ")'>+"
      else
         shtml = shtml & ">-"
      end if
      shtml = shtml & "</a>/n" & "<a href='#'"
      if adoRecordset.Fields.item("Children").value >0 then
         shtml = shtml & "onDblClick='ExpandNode(" & parentnode & "_" & i + 1 & "," & adoRecordset.Fields.item("id").value & ")'"
      end if
      shtml = shtml & ">" & adoRecordset.Fields.item("id").value & ": " &  adoRecordset.Fields.item("remark").value & "</a></div>"
      if adoRecordset.Fields.item("Children").value >0 then
         shtml = shtml & "<div id='" & parentnode & "_" & i + 1 & "_0' style='display: none' loaded='no'>" & nSpace & "&nbsp;&nbsp;正在加载 ...</div>"
      end if
      i=i+1
      adoRecordset.MoveNext
  loop
  adoRecordset.close
  set adoRecordset = nothing
  adoConnection.close
  set adoConnection = nothing
'response.write shtml
%>
<script>
   var x = eval('parent.' + '<% =request.querystring("Pnode") & "_0"%>' ) ;
   x.innerHTML="<% =shtml %>";
</script>
</BODY>
</HTML>

表结构:
Tree(id,parentid,remark)

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: MSDN5 CoreBox是一款由微软开发的软件开发工具套件。它提供了一系列的开发工具和资源,帮助开发人员构建和部署各种应用程序。 首先,MSDN5 CoreBox提供了一套强大的集成开发环境(IDE),可以用于编写、调试和测试代码。这个IDE提供了丰富的编辑器功能,例如代码自动补全、语法高亮和代码重构,可以大大提高效率。它还集成了调试器,可以帮助开发人员定位和解决代码中的错误。 此外,MSDN5 CoreBox还提供了丰富的开发库和框架,可用于开发不同类型的应用程序,例如网站、桌面应用和移动应用。这些库和框架提供了许多现成的功能和组件,使开发人员能够快速构建各种功能强大的应用程序。 MSDN5 CoreBox还提供了详尽的文档和教程,以帮助开发人员学习和使用其中的开发工具和资源。这些文档介绍了各种功能和用法,还提供了示例代码和指导,帮助开发人员解决问题和学习新技术。 总之,MSDN5 CoreBox是一款功能强大的软件开发工具套件,为开发人员提供了一站式的解决方案。它不仅提供了全面的开发工具和资源,还提供了帮助开发人员学习和解决问题的文档和教程。通过使用MSDN5 CoreBox,开发人员可以更轻松地构建和部署高质量的应用程序。 ### 回答2: MSDN5 CoreBox是微软官方提供的开发者资源平台。它为开发人员提供了丰富的技术文档、示例代码、工具和交流社区,以帮助开发人员更好地理解和应用微软的技术。 首先,MSDN5 CoreBox是一个技术文档库。在这个平台上,开发人员可以找到关于微软技术的详细文档,包括各种开发框架、编程语言、应用程序设计等方面的内容。这些文档提供了深入的理论知识以及实际应用中的最佳实践,帮助开发者更好地掌握和应用相关技术。 其次,MSDN5 CoreBox还提供了丰富的示例代码。这些示例代码是基于各种不同的场景和需求设计的,开发人员可以通过查看和分析这些示例代码,学习到更多实际应用中的技巧和方法。这些示例代码不仅可以帮助开发人员更好地理解相关技术,还可以作为开发的起点,快速构建自己的应用程序。 此外,MSDN5 CoreBox还提供了一系列的开发工具。这些工具包括IDE(集成开发环境)、调试器、性能分析器等,可以帮助开发人员更高效地进行开发、测试和调试。这些工具提供了丰富的功能和便捷的操作方式,可以大大提升开发人员的开发效率和代码质量。 最后,MSDN5 CoreBox也是一个开发者社区。在这个社区中,开发人员可以与其他开发人员进行交流和分享。他们可以在这里提问、回答问题、分享经验和技巧,共同解决开发中遇到的问题。开发者社区是一个相互学习和进步的平台,能够使开发人员更好地与行业内的其他人士进行互动。 综上所述,MSDN5 CoreBox为开发人员提供了全面、详尽、优质的开发者资源和支持,有助于开发人员提升技术水平、解决问题,实现更好的应用程序开发。 ### 回答3: MSDN5 Corebox是一种基于微软开发者网络(MSDN)平台的核心盒子。MSDN是微软的一种开发者资源中心,为开发者提供了丰富的开发工具、文档、教程等资源,帮助开发者更好地理解和使用微软的各种产品和技术。 MSDN5 Corebox是在这一平台上衍生出的核心盒子,它是为了满足开发者在软件开发过程中的特定需求而设计的。这个盒子集成了一系列的核心功能和工具,包括编程语言、开发框架、库、工具等。通过使用MSDN5 Corebox,开发者可以更高效地进行软件开发和调试,减少开发周期和提高开发质量。 MSDN5 Corebox的特点包括: 1.丰富的开发资源:MSDN5 Corebox提供了丰富的开发资源,包括最新的开发工具、文档、示例代码等,帮助开发者更好地学习和使用微软的技术。 2.高度集成的环境:MSDN5 Corebox将不同的开发工具、框架等集成在一个平台上,方便开发者快速切换和使用不同的开发工具。 3.灵活的定制能力:MSDN5 Corebox允许开发者根据自己的需求进行定制,选择需要的开发工具和框架,以及添加自定义的功能和库。 4.持续更新和支持:由于MSDN平台是微软重要的开发者资源中心之一,MSDN5 Corebox也会持续更新和支持,保持与最新的微软技术保持同步。 5.广泛的应用范围:由于MSDN5 Corebox的丰富功能和灵活性,它可以应用于各种不同类型的软件开发项目,包括桌面应用、移动应用、云计算等。 总而言之,MSDN5 Corebox是一个基于MSDN平台的核心盒子,为开发者提供了丰富的开发资源和工具,支持各种类型的软件开发项目。它通过高度集成的环境和灵活的定制能力,帮助开发者更高效地进行软件开发和提高开发质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

playyuer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值