账号通
    

账号  

密码  

5871

查看

14

回复
主题:[原创]用通用循环标签构造可折叠树型菜单! [收藏主题] 本贴被认定为精华 转到:  
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 14:45:00   | 显示全部帖子 查看该作者主题 楼主 
科汛智能建站系统

用循环标签建可折叠树型导航菜单!!
外层SQL语句:
SELECT TOP 15 ID,FolderName,TS FROM [KS_Class] Where ChannelID=1 and TN='0' ORDER BY FolderOrder


内层SQL语句:
SELECT TOP 15 ID,FolderName FROM [KS_Class] Where ChannelID=1 and TN='{R:ID}' ORDER BY FolderOrder


XSLT样式:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<div id="main">
   <div id="map_main">
  <xsl:for-each select="xml/outerlist/outerrow">
    <li class="top_type">
    <a href="javascript:disp('T_info_{@ts}');" target="_self">+</a><a href="{@classlink}" id="nav_{@id}" onmouseover="showMenu('nav_{@id}','subnav{@id}')"><xsl:value-of select="@foldername" disable-output-escaping="yes" /></a></li>
       <ul id="T_info_{@ts}">
      <xsl:for-each select="innerlist/innerrow">
       <li class="sub_type">-<a href="{@classlink}"><xsl:value-of select="@foldername" disable-output-escaping="yes" /></a></li>
      </xsl:for-each>
</ul>
 </xsl:for-each>
</div>
</div>
</xsl:template>
</xsl:stylesheet>


css样式:
#top,#main,#bottom {width:778px;text-align:center;clear:both;margin:0 auto;background:#fff; overflow:hidden;}/*设置总宽度,文本对齐方式改回默认left,清除周围浮动,左右自适应[FireFox居中方式]*/
/* map 背景设置 */
#map_top{width:630px;height:93px;background:url(/baidoc_images/map_top.gif) no-repeat #fff;margin-left:70px !important;margin-left:0; }
#map_main{width:480px;background:url(/baidoc_images/map_middle.gif) repeat-y #fff;padding: 20px 0 20px 150px;margin-left:70px !important;margin-left:0;}
#map_bottom{width:630px;height:93px;background:url(/baidoc_images/map_bottom.gif) no-repeat #fff;margin-left:70px !important;margin-left:0;}
#map_top:after,#map_main:after,#map_bottom:after{  content: ".";  display: block;  height: 0;  clear: both;  visibility: hidden; }
/* ul li 设置 */
ul {padding-left:30px;}
li{ list-style:none; text-align:left; letter-spacing:1px;height:auto!important;height:25px;min-height:25px;}
li img{border:0;}
li.top_type{ height:25px; padding-top:5px;}
li.top_type a{ font-size:14px; font-weight:bold; color:#996600;letter-spacing:2px;}
.green_bold{ font-size:14px; font-weight:bold; color:#009900;letter-spacing:2px;}
li.sub_type{  height:20px; padding-top:3px;}
li.sub_type a{ font-size:12px; font-weight:normal;color:#666666;}


函数代码:
<SCRIPT language=JavaScript type=text/javascript>
function findObj(theObj, theDoc)
{
  var p, i, foundObj;
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++)
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  return foundObj;
}
function disp()
{
  var RT,arg = disp.arguments;
  if ((RT = findObj(arg[0])) != null){
   if ((arg[1]) != null){
   if(arg[1]=="1") 
      {RT.style.display="";}
   else
   {RT.style.display="none";}
   }
   else{
   if(RT.style.display=="")
   {RT.style.display="none";}
   else
   {RT.style.display="";}
   }
   }
 }  
</SCRIPT>



在需要调用的页面模板的<head></head>之间调用样式,在<body></body>之间加上函数代码!
演示效果:http://www.baidoc.com/map.asp
但还需要解决的问题:无能成功调用二级栏目!!

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/28 19:28:00   | 显示全部帖子 查看该作者主题 沙发 
做在线知识付费 选科汛云开店
我顶呀!!我坚决要顶呀!!等待高人来解决呀!!不能调用二级栏目呀!!!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/28 13:04:00   | 显示全部帖子 查看该作者主题 藤椅 
做在线知识付费 选科汛云开店
没人来改了吗?不能正确调出二级栏目呀,上天呀,救救我吧!
以下是引用zhangwlx在2009-2-26 16:25:00的发言:

图片点击可在新窗口打开查看此主题相关图片如下:o3~wg_8ww{j}de@jzros@4g.jpg
图片点击可在新窗口打开查看
如图,我不能成功调用每一个以及栏目下的二级栏目,结果是每个以及栏目下的二级栏目都是第一个以及栏目下的二级栏目!

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/27 10:40:00   | 显示全部帖子 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 21:45:00   | 显示全部帖子 查看该作者主题 报纸 
做在线知识付费 选科汛云开店
没人顶,我自己顶!!!!!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 16:28:00   | 显示全部帖子 查看该作者主题 地板 
做在线知识付费 选科汛云开店

我不知道是循环标签的问题呢还是我的代码有错!但我觉得我的代码是没有错的!请高手来看看!!!

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 16:25:00   | 显示全部帖子 查看该作者主题 7楼 
科汛在线考试系统(NET)

此主题相关图片如下:o3~wg_8ww{j}de@jzros@4g.jpg
o3~wg_8ww{j}de@jzros@4g.jpg
如图,我不能成功调用每一个以及栏目下的二级栏目,结果是每个以及栏目下的二级栏目都是第一个以及栏目下的二级栏目!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 14:52:00   | 显示全部帖子 查看该作者主题 8楼 
科汛智能建站系统
 下载信息  [文件大小:3.57 KB 下载次数: 次]
点击下载文件:css

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhangwlx 当前离线

224

主题

0

广播

6

粉丝
添加关注
级别:二年级

用户积分:1854 分
登录次数:119 次
注册时间:2006/12/26
最后登录:2010/3/16
zhangwlx 发表于:2009/2/26 14:47:00   | 显示全部帖子 查看该作者主题 9楼 
科汛智能建站系统

我晕,第一次发帖,怎么像这样呢???

我在楼下重来!!

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.28125秒 powered by KesionCMS 9.0