asp

位置:IT落伍者 >> asp >> 浏览文章

asp无限级分类加js收缩伸展功能代码


发布日期:2024年06月04日
 
asp无限级分类加js收缩伸展功能代码

为了方便使用分类我定义了一个分类表category里面字段是

id(自动编号) cat_name(分类名) parent_id(父ID对应本表ID) cat_order(顺序) is_show(是否显示) u_id(这个用来区别是新闻分类还是产品分类还是其他分类)为了方便我将这些分类全部放在这张表中

在给客户添加分类的时候结果有太多的分类本来前台显示的时候将它们全部显示出来了好长客户提出修改意见要求将它们改成点击大分类才可以将其子分类显示出来并且每个分类下面还有一条虚线并且大分类前面有个图片加号展开后要变成减号

<script>

function fd(idnum)

{

t=$(c+id+_)styledisplay;

if(t==none)

{

t=block;

t=images/fll_gif;

}

else

{

t=none;

t=images/fll_gif;

}

for(i=;i<=num;i++)

{

$(c+id+_+i)styledisplay=t;

$(d_+id)src=t;

}

}

function $(id)

{

return documentgetElementById(id);

}

</script>

这是asp无限级显示分类代码并给这些分类加上id

<%

功能asp无限级显示分类+js显示与隐藏

作者wangsdong

开发

参数parent_id为父IDstype为新闻产品文章大分类

function cat(parent_idstype)

set rs =servercreateobject(adodbrecordset)

sql=select cat_namecat_idparent_id from category where parent_id=&parent_id& and u_id=&stype& and is_show= order by cat_order asc

set rs=connexecute(sql)

If rseof Then

Else

if(depath>) then

display=none

else

display=block

end if

dim j

j=

do while not rseof

cat_name = rs(cat_name)

cat_id = rs(cat_id)

parent_id=rs(parent_id)

******************下面是你要显示的******************

m=

sql=select count(cat_id) as t from category where parent_id=&cat_id& and u_id=&stype&

set rs=servercreateobject(adodbrecordset)

set rs=connexecute(sql)

if not rseof then

m=rs(t)

else

m=

end if

rsclose

if(depath<=) then

mgif=images/gif

a=block

else

if(m>) then

mgif=images/+gif

else

mgif=images/gif

end if

if(depath=) then

a=block

else

a=none

end if

end if

catstr=catstr & <tr id=c&parent_id&_&j& display:&a&><td width= align=center valign=middle class=dotted_class><img src=&mgif& width= height= id=d_&cat_id&></td><td class=dotted_class leftcatcss>

if(m>) then

catstr=catstr&<a javascript:void(); _fcksavedurl=javascript:void(); _fcksavedurl=javascript:void(); onclick=fd(&cat_id&&m&)> &vbnewline

else

catstr=catstr&<a &cat_id& target=_blank>&vbnewline

end if

for i= to depath

catstr=catstr&&nbsp;

Next

catstr=catstr&cat_name&</a></td></tr>&vbnewline

m=

sql=select cat_namecat_id from category where parent_id=&parent_id& and u_id=&stype& order by cat_order asc

set rs=servercreateobject(adodbrecordset)

set rs=connexecute(sql)

if not rseof then

depath=depath+

call cat(cat_idstype)

end if

rsclose

set rs=nothing

depath=depath

******************上面是你要显示的******************

j=j+

rsmovenext

loop

End If

rsclose

set rs=nothing

end Function

%>

在使用这个函数之前加上

catstr=

然后再call下面的虚线加在css中的dotted_class里面这样就搞定了

注意这里得到的是一个表格的行要和其他行放在一起不要加到td里面去了

上一篇:ASP随机数的应用技术

下一篇:基础知识:ASP错误提示大全