Programa universal ASP para implementar menu dobrável em páginas da web
Banco da China, província de Shanxi, filial de Jincheng, filial de ciência e tecnologia de Jinyu
Com a crescente popularidade da Internet/Intranet, a programação Web e a produção de páginas Web tornaram-se uma tendência. Este artigo apresenta aos leitores uma tecnologia de programação para implementar menus dobráveis em páginas da web. Acredito que adicionará muita cor às suas páginas da web. O chamado menu dobrável é na verdade um menu exibido dinamicamente, ou seja, quando nenhuma operação de menu é executada, apenas o menu principal é exibido. Quando um item de menu é selecionado, seus submenus subordinados são exibidos dinamicamente e após a seleção ser concluída. , eles ficam ocultos novamente.
Princípio de implementação
Você deve estar bem familiarizado com a tag HTML <DIV>. Podemos usar seu atributo display para ocultar ou exibir o conteúdo da tag <DIV>. O método específico é ocultar ou exibir quando display estiver definido como nenhum. Se marcamos todos os nomes de menu (incluindo submenus) com <DIV>, podemos realizar o menu dobrável usando linguagem ASP combinada com Script para controlar dinamicamente a exibição ou ocultação das opções de menu correspondentes.
O problema agora é como adicionar o nome do item de menu ao programa. Claro, você pode adicioná-lo diretamente à página da web, mas se alterar a opção do menu, deverá modificar novamente o código de controle da página da web. Este método obviamente não é suficientemente sábio. O que este artigo utiliza é armazenar todos os nomes de opções de menu em um arquivo de texto em um determinado formato. Quando a página web é carregada, o código ASP lê automaticamente seu conteúdo. Desta forma, se as opções de menu forem alteradas, basta fazer o correspondente. alterações neste arquivo Can.
Em relação às operações de arquivo, usamos o componente integrado de acesso a arquivos do ASP para concluí-lo. Para uso específico, consulte o código do programa no final do artigo.
arquivo de texto do menu
Este artigo concorda que o conteúdo do arquivo de texto do menu deve seguir as seguintes regras: o nome que descreve uma opção do menu deve ter três linhas de conteúdo (veja o exemplo abaixo; não são permitidas linhas em branco no arquivo; pode haver espaços antes); o nome da opção de menu, mas a tecla de espaço deve ser usada (tecla de espaço) ), a tecla Tab não pode ser usada; o final do arquivo é preenchido com duas linhas de *END*.
Suponha que exista o seguinte menu de três níveis:
software de sistema operacional
Software de computador ---- Software de sistema de aplicação
Software de ferramenta ----- FERRAMENTAS DE PC
FofoFTP
O texto do menu deve ter o seguinte formato:
1------indica o primeiro nome do menu principal
Software de computador -------- Nome do menu (o mesmo abaixo)
3 Se não for 0, especifique o número de submenus deste menu, neste exemplo é 3;
1*1 indica o primeiro submenu do primeiro menu principal (* deve ser usado)
software de sistema operacional
0 http://… --------- Se for 0, significa que o item de menu não possui submenu, seguido pelo URL do hiperlink
1*2---------- indica o segundo submenu do primeiro menu principal (o mesmo abaixo)
software de sistema aplicativo
0http://…
1*3
Software de ferramenta
2
1*3*1------- O 1º submenu do 3º submenu no 1º menu principal
FERRAMENTAS PARA PC
0http://…
Código do programa:
<HTML>
<CABEÇA>
<Linguagem SCRIPT=VBScript>
'Mostra ou oculta o submenu
Subdisp_sub_menu(curid)
dim ct,i,tmpid
ct=document.all(curid).style.ct
eu=1
Enquanto i<=CInt(ct)
tmpid=curid+*+cstr(i)
Se document.all(tmpid).style.display=none Então
document.all(tmpid).style.display=
Outro
document.all(tmpid).style.display=none
Se CInt(document.all(tmpid).style.ct)>0 Então
Se document.all(tmpid+*1).style.display= Então
disp_sub_menu(tmpid) 'Chama recursivamente o submenu de nível inferior
Terminar se
Terminar se
Terminar se
eu=eu+1
Wend
Finalizar sub
</SCRIPT></HEAD><BODY>
<FONT color=red><H2 align=center>Exemplo de implementação de menu dobrável em página da web usando ASP</H2></FONT><HR>
<% '----| Calcula o número * no id do menu|-----
Função spnum(str)
dim tmpstr,m,t
tmpstr=str
m=InStr(str,*)
t=0
Enquanto m<>0
t=t+1
tmpstr=Médio(tmpstr,m+1)
m=InStr(tmpstr,*)
Wend
spnum=t
Função final
'-----| Envia uma opção de menu para o navegador |-----
Sub output_line(ct_flag,curid,txtname,ct,txtcolor)
dim ptl,sp,dispval,tspace
sp=spnum(curido)
dispval=nenhum
Se sp=0 Então dispval=
tespaço=
Enquanto sp>0
tespaço=tespaço+
sp=sp-1
Wend
If ct_flag=1 Then 'Este menu de nível possui submenus, use apenas <DIV> para marcá-los
ptl=<div id=+chr(34)+curid+chr(34)+ estilo=
ptl=ptl+chr(34)+cor:+txtcor+;
ptl=ptl+ ct:+ct+; altura da linha:25px;
ptl=ptl+ cursor:mão;
ptl=ptl+ display:+dispval+chr(34)
ptl=ptl+ onclick=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tspace+txtnome+</div>+chr(13)
Else 'Este menu de nível é o menu de nível mais baixo, marcado com <DIV> e <A>
ptl=<div id=+chr(34)+curid+chr(34)
ptl=ptl+ estilo=+chr(34)+display:+dispval+;
ptl=ptl+altura da linha:25px; cor:+txtcor+;
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
Terminar se
resposta.write ptl
Finalizar sub
'----| Processo de controle principal|-----
dim curid,txtname,ct,ct_flag,txtcolor
definir fs=createobject(SCRIPTING.FILESYSTEMOBJECT)
menufile=substituir(request.servervariables(path_translated),menu.asp,mfile.txt)
definir txtstr = fs.opentextfile (arquivo de menu)
curid=txtstr.readline
Enquanto curid<>*END*
curid=y+Trim(curid) 'Forma o id do item de menu atual
txtname=Trim(txtstr.readline) 'Lê o nome do menu
ct=Trim(txtstr.readline) 'Lê o número de submenus deste menu
ct_flag=1
Se Mid(ct,1,1)=0 Então
ct_flag=0
ct=LTrim(Médio(ct,2))
Terminar se
txtcolor=preto
Selecione o caso spnum(curid)
caso 1
txtcolor=red 'Cor do submenu nível 1 a
caso 2
txtcolor=green 'Cor do submenu de segundo nível
caso 3
txtcolor=blue 'Cor do submenu de três níveis, pode continuar a ser adicionada
Finalizar seleção
linha_de_saída ct_flag,curid,nometxt,ct,cstr(txtcor)
curid=txtstr.readline
Wend
txtstr.fechar
%>
<HR></BODY></HTML>
Este código passa em Win98/PWS (Personal Web Server).