Classification infinie d'ASP plus exemple de code de fonction de réduction et d'étirement js
Cet exemple présente principalement brièvement les fonctions de classification illimitée à l'aide d'ASP et de réduction et d'étirement à l'aide de JS.
Avant l'opération, j'ai défini une catégorie de table de classement dont les champs sont
id (numéro automatique) cat_name (nom de la catégorie) parent_id (ID parent, correspondant à l'ID de cette table) cat_order (commande) is_show (si afficher) u_id (ceci est utilisé pour distinguer s'il s'agit d'une catégorie d'actualités, d'une catégorie de produits , ou autres catégories), par commodité, j'ai mis toutes ces catégories dans ce tableau.
Lors de l'ajout de catégories aux clients, il y avait trop de catégories lors de leur affichage initial à la réception, elles étaient toutes affichées, ce qui était très long. Le client a proposé des suggestions de modifications et a demandé qu'elles soient modifiées pour cliquer sur la grande catégorie afin que ses sous-catégories puissent être affichées. Il y a également une ligne pointillée sous chaque catégorie, et il y a une image plus un signe devant la grande catégorie, qui devrait devenir un signe moins après l'expansion.
<script>
fonction fd(id,num)
{
t=$(c+id+_1).style.display;
si(t==aucun)
{
t1 = bloc ;
t2=images/fll_34.gif;
}
autre
{
t1 = aucun ;
t2=images/fll_34.gif;
}
pour(i=1;i<=num;i++)
{
$(c+id+_+i).style.display=t1;
$(d_+id).src=t2;
}
}
fonction $(id)
{
return document.getElementById(id);
}
</script>
Il s'agit du code de catégorie d'affichage illimité asp et ajoute des identifiants à ces catégories
<%
'Fonction : classification d'affichage illimitée asp + affichage et masquage js
'Auteur : Wangsdong
'Développement : www.aspprogram.cn
'Paramètres : parent_id est l'ID parent, le stype correspond aux catégories d'actualités, de produits et d'articles.
'Article original, veuillez conserver quelques informations lors de la réimpression, merci
fonction cat111 (parent_id, type)
définir rs1 = serveur.createobject (adodb.recordset)
sql=select cat_name,cat_id,parent_id de la catégorie où parent_id=&parent_id& et u_id=&stype& et is_show=1 ordre par cat_order asc
définir rs1 = conn.execute (sql)
Si rs1.eof Alors
Autre
si (déchemin> 2) alors
display2=aucun
autre
display2 = bloc
finir si
faible j
j=1
faire sans rs1.eof
nom_chat1 = rs1(nom_chat)
cat_id1 = rs1(cat_id)
parent_id1=rs1(parent_id)
'******************Voici le ***************** que vous souhaitez afficher'
m9=0
sql2=select count(cat_id) as t fromcategory où parent_id=&cat_id1& et u_id=&stype&
définir rs2 = serveur.createobject (adodb.recordset)
définir rs2=conn.execute(sql2)
sinon rs2.eof alors
m9=rs2(t)
autre
m9=0
finir si
rs2.fermer
si (déchemin <= 2) alors
mgif=images/-.gif
a=bloc
autre
si (m9>0) alors
mgif=images/+.gif
autre
mgif=images/-.gif
finir si
si (dépath = 4) alors
a=bloc
autre
a=aucun
finir si
finir si
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>
si (m9>0) alors
catstr=catstr&<a href=javascript:void(0); _fcksavedurl=javascript:void(0); _fcksavedurl=javascript:void(0);fd(&cat_id1&,&m9&)> &vbnewline
autre
catstr=catstr&<a href=products.asp?id=&cat_id1& target=_blank>&vbnewline
finir si
pour i=1 pour dépather
catstr=catstr&
Suivant
catstr=catstr&cat_name1&</a></td></tr>&vbnewline
m9=0
sql2=sélectionnez cat_name,cat_id dans la catégorie où parent_id=&parent_id1& et u_id=&stype& ordre par cat_order asc
définir rs2 = serveur.createobject (adodb.recordset)
définir rs2=conn.execute(sql2)
sinon rs2.eof alors
chemin=chemin+4
appeler cat111(cat_id1,stype)
finir si
rs2.fermer
définir rs2 = rien
chemin=chemin-4
'******************Ce qui précède est le ***************** que vous souhaitez afficher'
j=j+1
rs1.movenext
boucle
Fin si
rs1.fermer
définir rs1 = rien
fonction de fin
%>
Avant d'utiliser cette fonction, ajoutez
catstr=
Puis rappelez et ajoutez la ligne pointillée suivante à dotted_class en CSS
Toutes les fonctions ont été implémentées jusqu'à présent