Programme universel ASP pour implémenter un menu pliable dans les pages Web
Banque de Chine Province du Shanxi Succursale de Jincheng Branche des sciences et technologies Jinyu
Avec la popularité croissante d’Internet/Intranet, la programmation Web et la production de pages Web sont devenues une tendance. Cet article présente aux lecteurs une technologie de programmation permettant d'implémenter des menus pliables dans les pages Web. Je pense que cela ajoutera beaucoup de couleur à vos pages Web. Le menu dit pliable est en fait un menu affiché dynamiquement, c'est-à-dire que lorsqu'aucune opération de menu n'est effectuée, seul le menu principal est affiché. Lorsqu'un élément de menu est sélectionné, ses sous-menus subordonnés sont affichés dynamiquement et une fois la sélection terminée. , ils sont à nouveau cachés.
Principe de mise en œuvre
Vous devez être très familier avec la balise HTML <DIV>. Nous pouvons utiliser son attribut d'affichage pour masquer ou afficher le contenu de la balise <DIV>. La méthode spécifique consiste à masquer ou à afficher lorsque l'affichage est défini sur aucun. Si nous avons marqué tous les noms de menu (y compris les sous-menus) avec <DIV>, nous pouvons réaliser le menu pliant en utilisant le langage ASP combiné avec Script pour contrôler dynamiquement l'affichage ou le masquage des options de menu correspondantes.
Le problème est maintenant de savoir comment ajouter le nom de l'élément de menu au programme. Bien sûr, vous pouvez l'ajouter directement à la page Web, mais si vous modifiez l'option de menu, vous devez re-modifier le code de contrôle de la page Web. la méthode n’est évidemment pas assez judicieuse. Cet article utilise le stockage de tous les noms d'options de menu dans un fichier texte dans un certain format. Lorsque la page Web est chargée, le code ASP lit automatiquement son contenu. De cette façon, si les options de menu sont modifiées, il suffit de les modifier. changements dans ce fichier.
Concernant les opérations sur les fichiers, nous utilisons le composant d'accès aux fichiers intégré d'ASP pour les compléter. Pour une utilisation spécifique, voir le code du programme à la fin de l'article.
fichier texte du menu
Cet article stipule que le contenu du fichier texte du menu doit suivre les règles suivantes : le nom décrivant une option de menu doit avoir trois lignes de contenu (voir l'exemple ci-dessous) ; aucune ligne vide n'est autorisée dans le fichier ; il ne peut y avoir d'espaces avant ; le nom de l'option de menu, mais il faut utiliser la touche espace (touche espace) ), la touche Tab ne peut pas être utilisée ; la fin du fichier est complétée par deux lignes de *END*.
Supposons qu'il existe le menu à trois niveaux suivant :
logiciel de système d'exploitation
Logiciel informatique ---- Logiciel système d'application
Logiciel d'outils ----- OUTILS PC
MignonFTP
Le texte du menu doit avoir le format suivant :
1------indique le premier nom du menu principal
Logiciel informatique--------Nom du menu (le même ci-dessous)
3 S'il n'est pas 0, précisez le nombre de sous-menus de ce menu ; dans cet exemple, il est 3 ;
1*1 indique le premier sous-menu du premier menu principal (* doit être utilisé)
logiciel de système d'exploitation
0 http://… --------- S'il vaut 0, cela signifie que l'élément de menu n'a pas de sous-menu, suivi de l'URL du lien hypertexte
1*2---------- indique le deuxième sous-menu du premier menu principal (le même ci-dessous)
logiciel de système d'application
0 http://…
1*3
Logiciel outil
2
1*3*1-------- Le 1er sous-menu du 3ème sous-menu du 1er menu principal
OUTILS PC
0 http://…
Code du programme :
<HTML>
<TÊTE>
<Langage SCRIPT=VBScript>
'Afficher ou masquer le sous-menu
Sous disp_sub_menu(curid)
faible ct, je, timide
ct=document.all(curid).style.ct
je = 1
Tandis que i<=CInt(ct)
tmpid=curid+*+cstr(i)
Si document.all(tmpid).style.display=none Alors
document.all(tmpid).style.display=
Autre
document.all(tmpid).style.display=aucun
Si CInt(document.all(tmpid).style.ct)>0 Alors
Si document.all(tmpid+*1).style.display= Alors
disp_sub_menu(tmpid) 'Appelle récursivement le sous-menu de niveau inférieur
Fin si
Fin si
Fin si
je=i+1
Wende
Fin du sous-marin
</SCRIPT></HEAD><CORPS>
<FONT color=red><H2 align=center>Exemple d'implémentation d'un menu pliable dans une page Web à l'aide d'ASP</H2></FONT><HR>
<% '----| Calculer le nombre * dans l'identifiant du menu|-----
Fonction spnum(str)
dim tmpstr,m,t
tmpstr=chaîne
m=InStr(str,*)
t=0
Tandis que m<>0
t=t+1
tmpstr=Milieu(tmpstr,m+1)
m=InStr(tmpstr,*)
Wende
spnum = t
Fonction de fin
'-----| Envoyer une option de menu au navigateur |-----
Sous-ligne_de-sortie (ct_flag,curid,txtname,ct,txtcolor)
faible ptl, sp, dispval, tspace
sp=spnum(curid)
dispval=aucun
Si sp=0 Alors dispval=
tespace=
Tant que sp>0
tespace=tespace+
sp=sp-1
Wende
Si ct_flag=1 Alors 'Ce menu de niveau a des sous-menus, utilisez uniquement <DIV> pour les marquer
ptl=<identifiant div=+chr(34)+curid+chr(34)+ style=
ptl=ptl+chr(34)+color:+txtcolor+;
ptl=ptl+ ct:+ct+; hauteur de ligne:25px;
ptl=ptl+ curseur:main;
ptl=ptl+ display:+dispval+chr(34)
ptl=ptl+ onclick=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tspace+nomtxt+</div>+chr(13)
Sinon 'Ce menu de niveau est le menu de niveau le plus bas, marqué par <DIV> et <A>
ptl=<identifiant div=+chr(34)+curid+chr(34)
ptl=ptl+ style=+chr(34)+display:+dispval+;
ptl=ptl+hauteur de ligne:25px; couleur:+txtcolor+; ct:0+chr(34)+>
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
Fin si
réponse.write ptl
Fin du sous-marin
'----| Processus de contrôle principal|-----
dim curid, txtname, ct, ct_flag, txtcolor
set fs=createobject(SCRIPTING.FILESYSTEMOBJECT)
menufile=replace(request.servervariables(path_translated),menu.asp,mfile.txt)
set txtstr=fs.opentextfile(menufile)
curid=txtstr.readline
Pendant que curid<>*FIN*
curid=y+Trim(curid) 'Former l'identifiant de l'élément de menu actuel
txtname=Trim(txtstr.readline) 'Lire le nom du menu
ct=Trim(txtstr.readline) 'Lire le nombre de sous-menus de ce menu
ct_flag=1
Si Mid(ct,1,1)=0 Alors
ct_flag=0
ct=LTrim(Mid(ct,2))
Fin si
txtcolor=noir
Sélectionnez le cas spnum (curid)
cas 1
txtcolor=red 'Couleur du sous-menu niveau 1 a
cas 2
txtcolor=green 'Couleur du sous-menu de deuxième niveau
cas 3
txtcolor=blue 'Couleur de sous-menu à trois niveaux, peut continuer à être ajoutée
Fin de la sélection
ligne_de sortie ct_flag,curid,nomtxt,ct,cstr(txtcolor)
curid=txtstr.readline
Wende
txtstr.close
%>
<HR></BODY></HTML>
Ce code passe sous Win98/PWS (Personal Web Server).