ASP-Universalprogramm zur Implementierung eines zusammenklappbaren Menüs in Webseiten
Bank of China Shanxi Province Jincheng Branch Science and Technology Branch Jinyu
Mit der zunehmenden Beliebtheit des Internets/Intranets sind Webprogrammierung und Webseitenerstellung zu einem Trend geworden. Dieser Artikel stellt den Lesern eine Programmiertechnologie zum Implementieren von Faltmenüs in Webseiten vor. Ich glaube, dass sie Ihren Webseiten viel Farbe verleihen wird. Das sogenannte Faltmenü ist eigentlich ein dynamisch angezeigtes Menü, das heißt, wenn keine Menüoperation ausgeführt wird, wird nur das Hauptmenü angezeigt. Wenn ein Menüpunkt ausgewählt wird, werden seine untergeordneten Untermenüs dynamisch angezeigt, und nachdem die Auswahl abgeschlossen ist , sie werden wieder ausgeblendet.
Umsetzungsprinzip
Sie müssen mit dem HTML-<DIV>-Tag sehr vertraut sein. Wir können sein Anzeigeattribut verwenden, um den Inhalt des <DIV>-Tags auszublenden oder anzuzeigen. Wenn wir alle Menünamen (einschließlich Untermenüs) mit <DIV> markiert haben, können wir das Faltmenü mithilfe der ASP-Sprache in Kombination mit Skript realisieren, um die Anzeige oder das Ausblenden der entsprechenden Menüoptionen dynamisch zu steuern.
Das Problem besteht nun darin, den Namen des Menüelements zum Programm hinzuzufügen. Natürlich können Sie ihn direkt zur Webseite hinzufügen, aber wenn Sie die Menüoption ändern, müssen Sie den Steuercode der Webseite erneut ändern Die Methode ist offensichtlich nicht klug genug. In diesem Artikel werden alle Menüoptionsnamen in einem bestimmten Format gespeichert. Wenn die Webseite geladen wird, liest der ASP-Code automatisch deren Inhalt Änderungen in dieser Datei können.
Für Dateivorgänge verwenden wir die integrierte Dateizugriffskomponente von ASP. Informationen zur spezifischen Verwendung finden Sie im Programmcode am Ende des Artikels.
Menütextdatei
In diesem Artikel wird vereinbart, dass der Inhalt der Menütextdatei den folgenden Regeln entsprechen muss: Der Name, der eine Menüoption beschreibt, muss drei Zeilen Inhalt haben (siehe Beispiel unten). In der Datei dürfen keine Leerzeilen stehen der Name der Menüoption, aber die Leertaste muss verwendet werden (Leertaste), die Tabulatortaste kann nicht verwendet werden; das Ende der Datei wird mit zwei Zeilen *END* abgeschlossen.
Angenommen, es gibt das folgende dreistufige Menü:
Betriebssystemsoftware
Computersoftware----Anwendungssystemsoftware
Werkzeugsoftware ----- PC-WERKZEUGE
CuteFTP
Der Menütext sollte folgendes Format haben:
1------gibt den ersten Hauptmenünamen an
Computersoftware--------Menüname (derselbe unten)
3 Wenn es nicht 0 ist, geben Sie die Anzahl der Untermenüs dieses Menüs an, in diesem Beispiel ist es 3
1*1 gibt das erste Untermenü des ersten Hauptmenüs an (* muss verwendet werden)
Betriebssystemsoftware
0 http://… --------- Wenn es 0 ist, bedeutet dies, dass der Menüpunkt kein Untermenü hat, gefolgt von der Hyperlink-URL
1*2---------- gibt das zweite Untermenü des ersten Hauptmenüs an (dasselbe unten).
Anwendungssystemsoftware
0 http://…
1*3
Werkzeugsoftware
2
1*3*1-------- Das 1. Untermenü des 3. Untermenüs im 1. Hauptmenü
PC-TOOLS
0 http://…
Programmcode:
<HTML>
<KOPF>
<SCRIPT Language=VBScript>
'Untermenü anzeigen oder ausblenden
Sub disp_sub_menu(curid)
dim ct,i,tmpid
ct=document.all(curid).style.ct
i=1
Während i<=CInt(ct)
tmpid=curid+*+cstr(i)
Wenn document.all(tmpid).style.display=none Dann
document.all(tmpid).style.display=
Anders
document.all(tmpid).style.display=none
Wenn CInt(document.all(tmpid).style.ct)>0 Dann
Wenn document.all(tmpid+*1).style.display= Dann
disp_sub_menu(tmpid) 'Untermenü der unteren Ebene rekursiv aufrufen
Ende wenn
Ende wenn
Ende wenn
i=i+1
Wend
Sub beenden
</SCRIPT></HEAD><BODY>
<FONT color=red><H2 align=center>Beispiel für die Implementierung eines Faltmenüs in einer Webseite mithilfe von ASP</H2></FONT><HR>
<% '----|. Berechnen Sie die *-Nummer in der Menü-ID|-----
Funktion spnum(str)
dim tmpstr,m,t
tmpstr=str
m=InStr(str,*)
t=0
Während m<>0
t=t+1
tmpstr=Mitte(tmpstr,m+1)
m=InStr(tmpstr,*)
Wend
spnum=t
Funktion beenden
'-----|. Eine Menüoption an den Browser senden |-----
Unterausgabezeile(ct_flag,curid,txtname,ct,txtcolor)
dim ptl,sp,dispval,tspace
sp=spnum(curid)
dispval=none
Wenn sp=0, dann dispval=
tspace=
Während sp>0
tspace=tspace+
sp=sp-1
Wend
Wenn ct_flag=1, dann: „Dieses Ebenenmenü hat Untermenüs, verwenden Sie nur <DIV>, um sie zu markieren.“
ptl=<div id=+chr(34)+curid+chr(34)+ style=
ptl=ptl+chr(34)+color:+txtcolor+;
ptl=ptl+ ct:+ct+; line-height:25px;
ptl=ptl+ Cursor:Hand;
ptl=ptl+ display:+dispval+chr(34)
ptl=ptl+ onclick=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tspace+txtname+</div>+chr(13)
Sonst 'Dieses Ebenenmenü ist das unterste Ebenenmenü, gekennzeichnet mit <DIV> und <A>
ptl=<div id=+chr(34)+curid+chr(34)
ptl=ptl+ style=+chr(34)+display:+dispval+;
ptl=ptl+line-height:25px; color:+txtcolor+ ct:0+chr(34)+>
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
Ende wenn
Antwort.write ptl
Sub beenden
'----|. Hauptkontrollprozess|-----
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
Während curid<>*END*
curid=y+Trim(curid) 'Bildet die ID des aktuellen Menüpunkts
txtname=Trim(txtstr.readline) 'Menünamen lesen
ct=Trim(txtstr.readline) 'Liest die Anzahl der Untermenüs dieses Menüs
ct_flag=1
Wenn Mid(ct,1,1)=0, dann
ct_flag=0
ct=LTrim(Mid(ct,2))
Ende wenn
txtcolor=schwarz
Fall auswählen spnum(curid)
Fall 1
txtcolor=red 'Farbe des Untermenüs der Ebene 1 a
Fall 2
txtcolor=green 'Farbe des Untermenüs der zweiten Ebene
Fall 3
txtcolor=blue 'Dreistufige Untermenüfarbe, kann weiterhin hinzugefügt werden
Endauswahl
Ausgabezeile ct_flag,curid,txtname,ct,cstr(txtcolor)
curid=txtstr.readline
Wend
txtstr.close
%>
<HR></BODY></HTML>
Dieser Code läuft unter Win98/PWS (Personal Web Server).