Programa universal ASP para implementar menú plegable en páginas web
Banco de China Provincia de Shanxi Sucursal Jincheng Sucursal de Ciencia y Tecnología Jinyu
Con la creciente popularidad de Internet/Intranet, la programación web y la producción de páginas web se han convertido en una tendencia. Este artículo presenta a los lectores una tecnología de programación para implementar menús plegables en páginas web. Creo que agregará mucho color a sus páginas web. El llamado menú plegable es en realidad un menú que se muestra dinámicamente, es decir, cuando no se realiza ninguna operación de menú, solo se muestra el menú principal. Cuando se selecciona un elemento del menú, sus submenús subordinados se muestran dinámicamente y una vez completada la selección. , vuelven a estar ocultos.
Principio de implementación
Debe estar muy familiarizado con la etiqueta HTML <DIV>. Podemos usar su atributo de visualización para ocultar o mostrar el contenido de la etiqueta <DIV>. El método específico es ocultar o mostrar cuando la visualización está configurada en ninguno. Si hemos marcado todos los nombres de menú (incluidos los submenús) con <DIV>, podemos realizar el menú plegable utilizando el lenguaje ASP combinado con Script para controlar dinámicamente la visualización u ocultación de las opciones de menú correspondientes.
El problema ahora es cómo agregar el nombre del elemento del menú al programa. Por supuesto, puede agregarlo directamente a la página web, pero si cambia la opción del menú, debe volver a modificar el código de control de la página web. Obviamente el método no es lo suficientemente inteligente. Lo que utiliza este artículo es almacenar todos los nombres de las opciones del menú en un archivo de texto en un formato determinado. Cuando se carga la página web, el código ASP lee automáticamente su contenido, de esta manera, si se cambian las opciones del menú, simplemente haga las correspondientes. cambios en este archivo.
Con respecto a las operaciones de archivos, utilizamos el componente de acceso a archivos integrado de ASP para completarlo. Para un uso específico, consulte el código del programa al final del artículo.
archivo de texto del menú
Este artículo acepta que el contenido del archivo de texto del menú debe seguir las siguientes reglas: el nombre que describe una opción del menú debe tener tres líneas de contenido (ver el ejemplo a continuación no se permiten líneas en blanco en el archivo; no puede haber espacios antes); el nombre de la opción de menú, pero se debe usar la tecla de espacio (tecla de espacio), no se puede usar la tecla Tabulador, el final del archivo se completa con dos líneas de *END*;
Supongamos que existe el siguiente menú de tres niveles:
software del sistema operativo
Software informático----Software del sistema de aplicación
Software de herramientas-----HERRAMIENTAS PARA PC
LindoFTP
El texto del menú debe tener el siguiente formato:
1------indica el primer nombre del menú principal
Software de computadora--------Nombre del menú (el mismo a continuación)
3 Si no es 0, especifique el número de submenús de este menú; en este ejemplo, es 3;
1*1 indica el primer submenú del primer menú principal (se debe utilizar *)
software del sistema operativo
0 http://… --------- Si es 0, significa que el elemento del menú no tiene submenú, seguido de la URL del hipervínculo
1*2---------- indica el segundo submenú del primer menú principal (el mismo a continuación)
software del sistema de aplicación
0http://…
1*3
software de herramienta
2
1*3*1-------- El 1er submenú del 3er submenú en el 1er menú principal
HERRAMIENTAS PARA PC
0http://…
Código de programa:
<HTML>
<CABEZA>
<Lenguaje SCRIPT=VBScript>
'Mostrar u ocultar submenú
Sub disp_sub_menu(curido)
tenue ct,i,tmpid
ct=document.all(curid).estilo.ct
yo=1
Mientras que i<=CInt(ct)
tmpid=curid+*+cstr(i)
Si document.all(tmpid).style.display=none Entonces
document.all(tmpid).style.display=
Demás
document.all(tmpid).style.display=ninguno
Si CInt(document.all(tmpid).style.ct)>0 Entonces
Si document.all(tmpid+*1).style.display= Entonces
disp_sub_menu(tmpid) 'Llamar recursivamente al submenú de nivel inferior
Terminar si
Terminar si
Terminar si
yo=yo+1
Encaminarse a
Subtítulo final
</SCRIPT></CABEZA><BODY>
<FONT color=red><H2 align=center>Ejemplo de implementación de menú plegable en una página web usando ASP</H2></FONT><HR>
<% '----| Calcular el número * en el menú id|-----
Función spnum(cadena)
tenue tmpstr,m,t
tmpstr=cadena
m=InStr(cadena,*)
t=0
Mientras m<>0
t=t+1
tmpstr=Medio(tmpstr,m+1)
m=InStr(tmpstr,*)
Encaminarse a
spnum=t
Función final
'-----| Enviar una opción de menú al navegador |-----
Sub línea_salida(ct_flag,curid,txtname,ct,txtcolor)
tenue ptl,sp,dispval,tspace
sp=spnum(curido)
valor disp=ninguno
Si sp=0 Entonces dispval=
tespacio=
Mientras sp>0
tespacio=tespacio+
sp=sp-1
Encaminarse a
Si ct_flag=1 Entonces 'Este menú de nivel tiene submenús, solo use <DIV> para marcarlos
ptl=<div id=+chr(34)+curido+chr(34)+ estilo=
ptl=ptl+chr(34)+color:+txtcolor+;
ptl=ptl+ ct:+ct+; altura de línea:25px;
ptl=ptl+ cursor:mano;
ptl=ptl+ pantalla:+dispval+chr(34)
ptl=ptl+ al hacer clic=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tespacio+nombretxt+</div>+chr(13)
De lo contrario 'Este menú de nivel es el menú de nivel más bajo, marcado con <DIV> y <A>
ptl=<div id=+chr(34)+curido+chr(34)
ptl=ptl+ estilo=+chr(34)+display:+dispval+;
ptl=ptl+alto de línea:25px color:+txtcolor+; ct:0+chr(34)+>
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
Terminar si
respuesta.escribir ptl
Subtítulo final
'----| Proceso de control principal|-----
tenue curid,txtname,ct,ct_flag,txtcolor
establecer fs=createobject(SCRIPTING.FILESYSTEMOBJECT)
menufile=reemplazar(solicitud.servervariables(ruta_traducida),menu.asp,mfile.txt)
establecer txtstr=fs.opentextfile(archivo de menú)
curid=txtstr.readline
Mientras curido<>*END*
curid=y+Trim(curid) 'Forma la identificación del elemento del menú actual
txtname=Trim(txtstr.readline) 'Leer el nombre del menú
ct=Trim(txtstr.readline) 'Lee el número de submenús de este menú
ct_flag=1
Si Mid(ct,1,1)=0 Entonces
ct_flag=0
ct=LTrim(Medio(ct,2))
Terminar si
txtcolor=negro
Seleccione caso spnum(curid)
caso 1
txtcolor=red 'Color del submenú nivel 1 a
caso 2
txtcolor=verde 'Color del submenú de segundo nivel
caso 3
txtcolor=blue 'Color del submenú de tres niveles, se puede seguir agregando
Seleccionar fin
línea_salida ct_flag,curid,txtname,ct,cstr(txtcolor)
curid=txtstr.readline
Encaminarse a
txtstr.cerrar
%>
<HR></BODY></HTML>
Este código pasa bajo Win98/PWS (Servidor web personal).