웹 페이지에 축소 가능한 메뉴를 구현하는 ASP 범용 프로그램
중국은행 산시성 진청지점 과학기술지점 진위
인터넷/인트라넷의 대중화로 인해 웹 프로그래밍과 웹 페이지 제작이 하나의 트렌드가 되었습니다. 이 기사에서는 독자들에게 웹 페이지에 접이식 메뉴를 구현하는 프로그래밍 기술을 소개합니다. 이 기술이 웹 페이지에 많은 색상을 추가할 것이라고 믿습니다. 소위 접이식 메뉴는 실제로 동적으로 표시되는 메뉴입니다. 즉, 메뉴 작업을 수행하지 않으면 기본 메뉴만 표시되며, 메뉴 항목을 선택하면 해당 하위 하위 메뉴가 동적으로 표시되고 선택이 완료됩니다. , 다시 숨겨져 있습니다.
구현원리
HTML <DIV> 태그에 대해 잘 알고 있어야 합니다. 해당 표시 속성을 사용하여 <DIV> 태그의 내용을 숨기거나 표시할 수 있습니다. 구체적인 방법은 표시가 없음으로 설정된 경우 숨기거나 표시하는 것입니다. 모든 메뉴 이름(하위 메뉴 포함)을 <DIV>로 표시하면 해당 메뉴 옵션의 표시 또는 숨기기를 동적으로 제어하는 스크립트와 결합된 ASP 언어를 사용하여 접는 메뉴를 구현할 수 있습니다.
이제 문제는 메뉴 항목 이름을 프로그램에 추가하는 방법입니다. 물론 웹 페이지에 직접 추가할 수도 있지만 메뉴 옵션을 변경하면 웹 페이지의 제어 코드를 다시 수정해야 합니다. 방법은 분명히 충분히 현명하지 않습니다. 이 기사에서는 모든 메뉴 옵션 이름을 특정 형식으로 텍스트 파일에 저장하는 것입니다. 웹 페이지가 로드되면 ASP 코드가 자동으로 해당 내용을 읽습니다. 이러한 방식으로 메뉴 옵션이 변경되면 그에 맞게 만듭니다. 이 파일에서 변경할 수 있습니다.
파일 작업과 관련하여 ASP의 내장 파일 액세스 구성 요소를 사용하여 이를 완료합니다. 구체적인 사용법은 기사 끝에 있는 프로그램 코드를 참조하세요.
메뉴 텍스트 파일
이 기사는 메뉴 텍스트 파일의 내용이 다음 규칙을 따라야 한다는 데 동의합니다. 메뉴 옵션을 설명하는 이름에는 내용이 세 줄로 이루어져야 합니다(아래 예 참조). 파일 앞에는 공백이 있을 수 없습니다. 메뉴 옵션 이름은 스페이스 키를 사용해야 합니다.(스페이스 키)), 탭 키는 사용할 수 없습니다. 파일 끝은 *END* 두 줄로 완성됩니다.
다음과 같은 3단계 메뉴가 있다고 가정합니다.
운영 체제 소프트웨어
컴퓨터 소프트웨어----응용 시스템 소프트웨어
도구 소프트웨어------PC 도구
귀여운FTP
메뉴 텍스트의 형식은 다음과 같아야 합니다.
1------첫 번째 메인 메뉴 이름을 나타냅니다.
컴퓨터 소프트웨어---------메뉴 이름(아래 동일)
3 0이 아니면 이 메뉴의 하위 메뉴 수를 지정합니다. 이 예에서는 3입니다.
1*1은 첫 번째 메인 메뉴의 첫 번째 하위 메뉴를 나타냅니다. (*는 반드시 사용되어야 합니다)
운영 체제 소프트웨어
0 http://… --------- 0이면 메뉴 항목에 하위 메뉴가 없고 하이퍼링크 URL이 뒤에 있음을 의미합니다.
1*2------------ 첫 번째 메인 메뉴의 두 번째 하위 메뉴를 나타냅니다. (아래 동일)
응용 시스템 소프트웨어
0 http://…
1*3
도구 소프트웨어
2
1*3*1--------- 첫 번째 주 메뉴의 세 번째 하위 메뉴 중 첫 번째 하위 메뉴
PC 도구
0 http://…
프로그램 코드:
<HTML>
<헤드>
<SCRIPT 언어=VBScript>
'하위 메뉴 표시 또는 숨기기
하위 disp_sub_menu(curid)
희미한 CT,I,TMPID
ct=document.all(curid).style.ct
나는=1
i<=CInt(ct) 동안
tmpid=curid+*+cstr(i)
document.all(tmpid).style.display=none인 경우 그러면
document.all(tmpid).style.display=
또 다른
document.all(tmpid).style.display=none
CInt(document.all(tmpid).style.ct)>0이면
document.all(tmpid+*1).style.display= 그렇다면
disp_sub_menu(tmpid) '하위 하위 메뉴를 재귀적으로 호출
종료 조건
종료 조건
종료 조건
나=나+1
향하게 하다
서브 끝
</SCRIPT></HEAD><BODY>
<FONT color=red><H2 align=center>ASP를 이용하여 웹페이지에 접기 메뉴를 구현한 예</H2></FONT><HR>
<% '----| 메뉴 ID의 * 숫자를 계산합니다|-----
함수 spnum(str)
희미한 tmpstr,m,t
tmpstr=str
m=InStr(str,*)
티=0
m<>0인 동안
티=티+1
tmpstr=중간(tmpstr,m+1)
m=InStr(tmpstr,*)
향하게 하다
스프넘=t
기능 종료
'------| 브라우저에 메뉴 옵션 보내기 |-----
하위 출력_라인(ct_flag,curid,txtname,ct,txtcolor)
희미한 ptl,sp,dispval,tspace
sp=spnum(큐리드)
dispval=없음
sp=0이면 dispval=
tspace=
sp>0인 동안
tspace=tspace+
sp=sp-1
향하게 하다
If ct_flag=1 Then '이 레벨 메뉴에는 하위 메뉴가 있습니다. <DIV>만 사용하여 표시하세요.
ptl=<div id=+chr(34)+curid+chr(34)+ 스타일=
ptl=ptl+chr(34)+color:+txtcolor+;
ptl=ptl+ ct:+ct+; 줄 높이:25px;
ptl=ptl+ 커서:손;
ptl=ptl+ 디스플레이:+dispval+chr(34)
ptl=ptl+ onclick=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tspace+txtname+</div>+chr(13)
Else '이 메뉴는 최하위 메뉴로 <DIV>, <A>로 표시됩니다.
ptl=<div id=+chr(34)+curid+chr(34)
ptl=ptl+ 스타일=+chr(34)+display:+dispval+;
ptl=ptl+라인 높이:25px; 색상:+txtcolor+>
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
종료 조건
응답.쓰기 PTL
서브 끝
'----| 주요 제어 프로세스|-----
희미한 큐리드,txtname,ct,ct_flag,txtcolor
fs=createobject(SCRIPTING.FILESYSTEMOBJECT) 설정
메뉴파일=교체(request.servervariables(path_translated),menu.asp,mfile.txt)
txtstr=fs.opentextfile(메뉴파일) 설정
curid=txtstr.readline
치료하는 동안<>*END*
curid=y+Trim(curid) '현재 메뉴 항목의 ID를 구성합니다.
txtname=Trim(txtstr.readline) '메뉴 이름 읽기
ct=Trim(txtstr.readline) '이 메뉴의 하위 메뉴 개수를 읽습니다.
ct_flag=1
Mid(ct,1,1)=0이면
ct_flag=0
ct=LTrim(중간(ct,2))
종료 조건
txtcolor=검은색
사례 선택 spnum(curid)
사례 1
txtcolor=red '레벨 1 하위 메뉴 색상 a
사례 2
txtcolor=green '두 번째 수준 하위 메뉴 색상
사례 3
txtcolor=blue '3단계 하위 메뉴 색상, 계속 추가 가능
선택 종료
output_line ct_flag,curid,txtname,ct,cstr(txtcolor)
curid=txtstr.readline
향하게 하다
txtstr.close
%>
<HR></BODY></HTML>
이 코드는 Win98/PWS(개인 웹 서버)를 통과합니다.