心雨在线科技

以规范的流程和专注的态度,为您提供全方位的设计服务

ASP实例教程:asp无限级显示分类代码

发布时间:2019-04-13   浏览次数:277

WebjxCom提示:asp无限级分类加js收缩伸展功能代码.
为了方便使用分类,我定义了一个分类表category,里面字段是
id(自动编号)  cat_name(分类名) parent_id(父ID,对应本表ID) cat_order(顺序) is_show(是否显示)  u_id(这个用来区别是新闻分类,还是产品分类,还是其他分类),为了方便,我将这些分类全部放在这张表中。
在给客户添加分类的时候,结果有太多的分类,本来前台显示的时候,将它们全部显示出来了,好长。客户提出修改意见,要求将它们改成点击大分类,才可以将其子分类显示出来,并且每个分类下面还有一条虚线,并且大分类前面有个图片加号,展开后要变成减号。
<script>
function fd(id,num)
{
 t=$(c+id+_1).style.display;
 
 if(t==none)
 {
   t1=block;
   t2=images/fll_34.gif;
 }
 else
 {
  t1=none; 
  t2=images/fll_34.gif;
 }
 for(i=1;i<=num;i++)
 {
  $(c+id+_+i).style.display=t1;
  $(d_+id).src=t2;  
 }
}
function $(id)
{
 return document.getElementById(id);
}
</script>
这是asp无限级显示分类代码,并给这些分类加上id

<%
'功能:asp无限级显示分类+js显示与隐藏
'参数:parent_id为父ID,stype为新闻,产品,文章大分类
'原创文章,转载请保留些信息,谢谢
function cat111(parent_id,stype)
set rs1 =server.createobject(adodb.recordset)
sql=select cat_name,cat_id,parent_id from category where parent_id=&parent_id& and u_id=&stype& and is_show=1 order by cat_order asc
set rs1=conn.execute(sql)
If rs1.eof Then
Else 
if(depath>2) then
 display2=none     
else
 display2=block 
end if  
dim j
j=1
do while not rs1.eof 
 cat_name1 = rs1(cat_name)
 cat_id1 = rs1(cat_id)  
 parent_id1=rs1(parent_id) 
 '******************下面是你要显示的******************' 
 m9=0
 sql2=select count(cat_id) as t from category where parent_id=&cat_id1& and u_id=&stype&    
 set rs2=server.createobject(adodb.recordset)
 set rs2=conn.execute(sql2) 
 if not rs2.eof then
    m9=rs2(t)
 else
  m9=0  
 end if 
 rs2.close
  
 if(depath<=2) then  
  mgif=images/-.gif
  a=block
 else
  if(m9>0) then 
  mgif=images/+.gif 
  else
  mgif=images/-.gif
  end if
  if(depath=4) then
   a=block
  else  
   a=none
  end if
 end if  
 
 
 catstr=catstr & <tr id=c&parent_id&_&j& style=display:&a&><td width=25 align=center valign=middle class=dotted_class><img src=&mgif& width=12 height=11 id=d_&cat_id1&></td><td class=dotted_class leftcatcss>
 if(m9>0) then
  catstr=catstr&<a href=javascript:void(0); _fcksavedurl=javascript:void(0); _fcksavedurl=javascript:void(0); onclick=fd(&cat_id1&,&m9&)> &vbnewline
 else
  catstr=catstr&<a href=products.asp?id=&cat_id1& target=_blank>&vbnewline
 end if
 for i=1 to depath
   catstr=catstr&&nbsp;
 Next
 catstr=catstr&cat_name1&</a></td></tr>&vbnewline
 m9=0
     
 sql2=select cat_name,cat_id from category where parent_id=&parent_id1& and u_id=&stype& order by cat_order asc    
 set rs2=server.createobject(adodb.recordset)
 set rs2=conn.execute(sql2)
 if not rs2.eof then
    depath=depath+4 
    call cat111(cat_id1,stype)
 end if
 rs2.close 
 set rs2=nothing 
 depath=depath-4 
 '******************上面是你要显示的******************'
 j=j+1
rs1.movenext
loop
End If
rs1.close
set rs1=nothing
end Function
%>
在使用这个函数之前加上
catstr=
然后再call,下面的虚线加在css中的dotted_class里面,这样就搞定了。
注意:这里得到的是一个表格的行,要和其他行放在一起,不要加到td里面去了。
批注:(深圳市心雨在线科技开发有限公司 www.xyzxkj.com 是一家专业从事互联网品牌网站建设,APP客户端,微信定制开发,O2O商城开发,响应式网站,,营销型PC网站,系统软件定制开发,美工形象设计,在线印刷事务等,上千家企业客户的成功选择,专业品质,服务至上,联系电话:郑先生 13148852471  在线QQ:113454847)
 
返回列表
上一篇:ASP视频教程:备份和还原SQL Server 2000数据库
下一篇:IIS无法启动错误的几种情况汇总

在线
客服

在线客服
尊敬的客户,我们24小时竭诚为您服务 公司总机:0755-89808693(32条线)

客服
热线

0755-89808693
7*24小时客服服务热线

关注
微信

关注官方微信

返回
顶部