• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 校园文章 > 正文

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

    时间:2020-05-28来源:山茶花美文网 本文已影响 山茶花美文网手机站

    为了方便使用分类,我定义了一个分类表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&" "
    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里面去了。

    • ASP实例教程:asp无限级显示分类代码|asp代码 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全