ASP の無限分類と JS の縮小および伸縮関数のサンプル コード
この例では主にASPによる無制限分類とJSによる縮小・伸縮の機能を簡単に紹介します。
操作の前に、フィールドが次のとおりである分類テーブル カテゴリを定義しました。
id (自動番号) cat_name (カテゴリ名)parent_id (親ID、このテーブルのIDに対応) cat_order (順序) is_show (表示するかどうか) u_id (ニュースカテゴリか製品カテゴリかを区別するために使用されます) 、または他のカテゴリ)、便宜上、これらすべてのカテゴリをこの表にまとめました。
顧客にカテゴリを追加する際、最初にフロントに表示するとカテゴリが多すぎて、非常に長くなってしまいました。お客様は変更提案を提出し、大きなカテゴリをクリックしてそのサブカテゴリが表示されるように変更するよう要求しました。また、各カテゴリの下に点線があり、大きなカテゴリの前に画像のプラス記号があります。展開後はマイナス記号になります。
<スクリプト>
関数 fd(id,num)
{
t=$(c+id+_1).style.display;
if(t==なし)
{
t1=ブロック;
t2=画像/fll_34.gif;
}
それ以外
{
t1=なし。
t2=画像/fll_34.gif;
}
for(i=1;i<=num;i++)
{
$(c+id+_+i).style.display=t1;
$(d_+id).src=t2;
}
}
関数 $(id)
{
document.getElementById(id) を返します。
}
</script>
これは、ASP 無制限の表示カテゴリ コードであり、これらのカテゴリに ID を追加します。
<%
'機能: asp 無制限の表示分類 + js の表示と非表示
'作者: 王東
'開発: www.aspprogram.cn
'パラメータ: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 whereparent_id=&parent_id& and u_id=&stype& and is_show=1 cat_order asc 順に並べる
set rs1=conn.execute(sql)
rs1.eofの場合
それ以外
if(デパス>2) then
ディスプレイ2=なし
それ以外
ディスプレイ2=ブロック
終了する場合
薄暗いj
j=1
rs1.eof ではないときに実行します
猫名1 = rs1(猫名)
cat_id1 = rs1(cat_id)
親 ID1=rs1(親 ID)
'******************以下は表示したい******************です'
m9=0
sql2=parent_id=&cat_id1& および u_id=&stype& のカテゴリから count(cat_id) を選択します
set rs2=server.createobject(adodb.recordset)
set rs2=conn.execute(sql2)
rs2.eof ではない場合
m9=rs2(t)
それ以外
m9=0
終了する場合
rs2.close
if(depath<=2) then
mgif=画像/-.gif
a=ブロック
それ以外
if(m9>0) then
mgif=画像/+.gif
それ以外
mgif=画像/-.gif
終了する場合
if(depath=4) then
a=ブロック
それ以外
a=なし
終了する場合
終了する場合
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 クラス=dotted_class leftcatcss>
if(m9>0) then
catstr=catstr&<a href=javascript:void(0); _fcksavedurl=javascript:void(0);fd(&cat_id1&,&m9&)> &vbnewline
それ以外
catstr=catstr&<a href=products.asp?id=&cat_id1& target=_blank>&vbnewline
終了する場合
i=1 の場合はパスを解除します
catstr=catstr&
次
catstr=catstr&cat_name1&</a></td></tr>&vbnewline
m9=0
sql2=カテゴリから cat_name,cat_id を選択します。parent_id=&parent_id1& および u_id=&stype& は cat_order asc で並べ替えます。
set rs2=server.createobject(adodb.recordset)
set rs2=conn.execute(sql2)
rs2.eof ではない場合
デパス=デパス+4
cat111(cat_id1,stype) を呼び出します。
終了する場合
rs2.close
rs2=何も設定しない
デパス=デパス-4
'******************上記は表示したい******************です'
j=j+1
rs1.movenext
ループ
終了の場合
rs1.close
rs1=何も設定しない
関数の終了
%>
この関数を使用する前に追加してください
catstr=
次に、再度呼び出して、CSS の dotted_class に次の点線を追加します。
ここまでですべての機能が実装されました