>웹 프론트엔드 >JS 튜토리얼 >JavaScript 기사에서 동적 메뉴를 작성하십시오

JavaScript 기사에서 동적 메뉴를 작성하십시오

Jennifer Aniston
Jennifer Aniston원래의
2025-03-11 00:05:08124검색

JavaScript 기사에서 동적 메뉴를 작성하십시오

여기, 우리는 DHTML 드롭 다운/풀다운 메뉴에 대해 이야기하지 않습니다. 여기서는 JavaScript를 사용하는 간단한 탐색 메뉴에 대해 이야기하고 있습니다. 활성 페이지를 식별하고 따라서 다른 링크와 다르게 연결되는 것을 표시하므로 사용자가 쉽게 탐색 할 수 있습니다. 여기에서 내비게이션 메뉴의 모든 페이지에 사용될 단일 .js 파일을 사용합니다. 따라서 모든 페이지를 업데이트 할 필요는 없습니다. 하나의 JavaScript 라이브러리 파일 (.js 파일) 만 업데이트해야합니다. 예를 들어,이 3 가지 탐색 링크를 고려하십시오 : JavaScript 기사에서 동적 메뉴를 작성하십시오 링크 1이 활성화됩니다. JavaScript 기사에서 동적 메뉴를 작성하십시오 링크 2가 활성화되었습니다. JavaScript 기사에서 동적 메뉴를 작성하십시오 링크 3이 활성화되었습니다. 보시다시피, 이것은 어떤 링크가 활성화되어 있는지에 따라 다른 페이지에 내비게이션 메뉴가 어떻게 나타나는지에 대한 샷입니다. 이 메뉴는 단일 JavaScript 파일로 생성됩니다. 메뉴에 대한 클래스 (.links)를 정의하고 .links : active에 대해 다른 속성을 할당하여 계단식 스타일 시트 (CSS) 만 사용하여 이러한 메뉴를 만들 수 있습니다. 따라서 CSS 파일을 사용하여 메뉴를 만들 수 있습니다. 이것은 완벽하지만 여기에서 JavaScript를 사용하는 데 이점이 있습니다. 위의 샷에서 볼 수 있듯이 활성 링크에는 결국 "" ""문자가 있습니다. 이것은 활성 링크에 대해서만 생성되므로 동적으로 생성됩니다. JavaScript를 사용하면 링크를 실제로 활성화시키는 모든 문자 나 상징적 인 이미지를 사용할 수 있습니다.
구현
이 유형의 메뉴를 구현하려면 먼저 필요한 링크의 스타일을 정의하기 위해 CSS 파일 (링크) 파일입니다. 다음은 JavaScript 파일 Nav.js가 온다. Nav.js 파일에서 우선 3 개의 배열을 선언합니다. "링크"라는 하나의 배열에는 링크 이름이 포함됩니다. 다른 배열을 "links_text"라고하며 링크의 텍스트 (예 : Link 1)로 구성됩니다. 전자는이 파일과 비교하는 데 사용될 것입니다. 링크 파일의 제목을 사용하여 링크 배열의 다양한 요소를 확장자를 제외하십시오 (예 : 첫 번째 링크가 index.htm, 이름 IT 인덱스로 이동하는 경우). "Links_URL"이라는 세 번째 배열에는 링크가 사용자를 데려 오는 URL이 포함되어 있습니다. 이제 우리가 원하는 것은 배열 링크의 각 요소를 확장자없이 현재 페이지 파일 이름과 비교하는 것입니다. 그런 다음 링크에 스타일과 링크 텍스트에 추가하기로 결정한 추가 텍스트 또는 이미지를 활성 페이지를 강조 표시하기로 결정했습니다. LOC를 비교 문자열로 둡니다. loc는 다음과 같이 찾을 수 있습니다. var loc = string (this.location); loc = loc.split ( "/"); loc = loc [loc.length-1] .split ( "."); loc = loc [loc.length-2]; 따라서 현재 페이지가 https://www.sitepoint.com/index.htm 인 경우 loc가 색인이됩니다. 이제 배열 링크의 각 요소와 이것을 비교합니다. 이 배열과 loc의 첫 번째 요소는 동일 하므로이 링크를 다음 방식으로 씁니다. document.write ( '< table onmouseover = "this.classname ='explorer_active '; return"onMouseOut = "this.className ='explorer_Active '; return"onMousEdown = "this.className ='explorer_active '; return"onclick = "links. ''> < tr> < td> < href = ''links_url [i] ' ">'links_text [i] '< b> â» < 링크 배열의 다른 요소는 LOC와 같지 않기 때문에 다음과 같이 작성됩니다. docum onclick = "location.href = ''links_url [i] '' ''> < tr> < td> < href =" 'links_url [i]' ' ">'links_text [i] ' 입니다. 이는 HTML 페이지의 < 헤드> 섹션에 배치해야합니다. 따라서 1 nav.js를 나열하는 것은 다음과 같습니다. 링크 세부 사항 * / var links = new Array ( "link1", "link2", "link3"); var links_text = new Array ( "Link 1", "Link 2", "Link 3"); var links_url = new Array ( "link1.htm", "link2.htm", "link3.htm"); / * 위치를 해결 */ var loc = string (this.location); loc = loc.split ( "/"); loc = loc [loc.length-1] .split ( "."); loc = loc [loc.length-2]; / * 메뉴 생성 기능 */ 함수 dyn_menu_gen () {for (var i = 0; i < links.length; i) {if (loc == links [i]) {docum true "onmousedown ="this.classname = 'explorer_active'; return true "onclick ="location.href = ''links_url [i] '' "> < tr> < td> < a href =" 'links_url [i]' '>'links_text [i] ' < b>» '); } else {docum '' "> < tr> < td> < href = ''links_url [i] '">'links_text [i] ' '); } document.write ( '< table cellspacing = "0"cellPadding = "0"bgcolor = "#ffffff"> < tr> < td> '); }} / * 메뉴 생성 * / dyn_menu_gen (); Listing 2, Links_style.css는 다음과 같습니다. .Explorer {font-family : Verdana, Arial, Helvetica; 글꼴 크기 : 8pt; 글꼴 중량 : 정상; 텍스트 결정 : 없음; 색상 :#000000; 배경 :#b5d0ff; 커서 : 손; 너비 : 150px; 높이 : 30px; 국경 : 1 SOLID #A6C0ED} .Explorer_over {font-family : Verdana, Arial, Helvetica; 글꼴 크기 : 8pt; 글꼴 중량 : 정상; 텍스트 결정 : 없음; 색상 :#000000; 배경 :#A7C0EB; 커서 : 손; 너비 : 150px; 높이 : 30px; 경계 오른쪽 : 1 Solid #5C6980; 국경-바닥 : 1 Solid #5C6980; 왼쪽 경계 : 1 Solid #B8D3ff; 테두리 탑 : 1 SOLID #B8D3FF} .Explorer_down {font-family : Verdana, Arial, Helvetica; 글꼴 크기 : 8pt; 글꼴 중량 : 정상; 텍스트 결정 : 없음; 색상 :#000000; 배경 :#A7C0EB; 커서 : 손; 너비 : 150px; 높이 : 30px; 왼쪽 경계 : 1 Solid #5C6980; 테두리 탑 : 1 Solid #5C6980; 경계 오른쪽 : 1 Solid #B8D3ff; Border-Bottom : 1 Solid #B8D3ff} .Explorer_Active {Font-Family : Verdana, Arial, Helvetica; 글꼴 크기 : 8pt; 글꼴 중량 : 정상; 텍스트 결정 : 없음; 색상 :#000000; 배경 : #ffffff; 커서 : 손; 너비 : 150px; 높이 : 30px} .menu {font-family : Verdana, Arial, Helvetica; 글꼴 크기 : 8pt; 글꼴 중량 : 정상; 텍스트 결정 : 없음; 색상 :#000000}이 스크립트가 웹 페이지의 동적 JavaScript 탐색의 생성을 단순화하기를 바랍니다!

JavaScript의 동적 메뉴에 대한 자주 질문

JavaScript의 동적 메뉴에 하위 메뉴를 추가 할 수 있습니까?

JavaScript의 동적 메뉴에 하위 메뉴를 추가 한 다음 새 메뉴 항목을 작성한 다음 부모 메뉴에 자식으로 추가하는 것이 포함됩니다. AppendChild () 메소드를 사용하여이를 달성 할 수 있습니다. 간단한 예는 다음과 같습니다.

var parentmenuitem = docum 하위 메뉴를 추가하려는 메뉴 항목의 ID. 'submenuitem'은 추가하는 새로운 하위 메뉴 항목입니다.

JavaScript의 동적 메뉴에서 메뉴 항목을 제거하려면 JavaScript의 동적 메뉴에서 메뉴 항목을 제거하려면 RemoveChild () 메소드를 사용할 수 있습니다. 이 메소드는 지정된 요소의 지정된 하위 노드를 제거합니다. 예는 다음과 같습니다.

var menuitem = docut javaScript의 동적 메뉴의 메뉴 항목은 InnerHTML 속성을 사용하여 수행 할 수 있습니다. 예는 다음과 같습니다.

var menuitem = docut JavaScript의 동적 메뉴?

JavaScript의 동적 메뉴에서 메뉴 항목에 이벤트 리스너를 추가하는 것은 addeventListener () 메소드를 사용하여 수행 할 수 있습니다. 이 메소드는 이벤트 핸들러를 지정된 요소에 첨부합니다. 예는 다음과 같습니다.

var menuitem = docut 이벤트 리스너는 메뉴 항목을 클릭 할 때 경고를 표시합니다.

JavaScript의 동적 메뉴에서 메뉴 항목을 어떻게 스타일링 할 수 있습니까?

스타일 속성을 사용하여 동적 메뉴에서 메뉴 항목을 스타일링 할 수 있습니다. 이 속성은 요소의 스타일 속성을 설정하거나 반환합니다. 예는 다음과 같습니다.

var menuitem = document.getElementByid ( 'menuitem');
menuitem.style.color = 'red';
menuitem.style.fontsize = '20px';
이 예에서 'menuitem'은 원하는 메뉴 항목의 ID입니다. 스타일 속성은 메뉴 항목의 색상과 글꼴 크기를 변경하는 데 사용됩니다.

배열을 사용하여 JavaScript에서 동적 메뉴를 어떻게 만들 수 있습니까?

배열을 사용하여 JavaScript에서 동적 메뉴를 만들면 배열에서 각 요소에 대한 새 메뉴 항목을 생성하는 방법. 예는 다음과 같습니다.

var menuitems = [ 'home', 'about', 'contact'];
var menu = document.getElementById ( 'menu');

for (var i = 0; i < length.length; i) {
var menuitem = document.createelement ( 'li'); menuitems [i];
menu.appendchild (menuitem);
}
이 예에서 'menuitem'은 메뉴 항목 텍스트이며 '메뉴'는 메뉴 항목을 추가하려는 메뉴의 ID입니다. JSON 데이터를 구문 분석하고 구문 분석 데이터의 각 객체에 대한 새 메뉴 항목을 작성합니다. 예는 다음과 같습니다.

var jsondata = '[{ "text": "home"}, { "text": "about"}, { "text": "contact"}]';
var menuitems = json.parse (jsondata);
var menu = document.get elementbyid ( 'menu');
(i#x3c); menuitems.length; i) {
var menuitem = docum TO. 다음은 Fetch API를 사용하는 예입니다 :

fetch ( 'https://example.com/menuitems')
.then (response => response.json ())
.then (data => {
var menu = document.getElementById ( 'main');
for (var i = 0; i < var menuitem = document.createelement ( 'li');
menuitem.innerhtml = data [i] .text;
menu.appendChild (menuitem);
}
});
이 예에서 'https://example.com/menuitem' JavaScript에서 동적 드롭 다운 메뉴를 만듭니다.

JavaScript에서 동적 드롭 다운 메뉴를 작성하려면 새 선택 요소를 작성하고 각 메뉴 항목에 대한 옵션 요소를 추가하는 것입니다. 예는 다음과 같습니다.

var menuitems = [ 'home', 'about', 'contact'];
var dropdownmenu = docum menuitems [i]; intion.text = menuitems [i];
dropdownmenu.appendChild (옵션);












이 예에서 'meudems'는 메뉴 텍스트의 배열입니다.

어떻게해야합니까?

javaScript에서 동적 컨텍스트 메뉴를 작성하려면 새 메뉴 요소를 작성하고 메뉴 항목을 추가 한 다음 오른쪽 마우스 버튼을 클릭 할 때 마우스 위치에 메뉴를 표시하는 것이 포함됩니다. 예는 다음과 같습니다.

var menuitems = [ 'cut', 'copy', 'paste', 'paste'];
var contextmenu = docum menuitems.length; i) {
var menuitem = createelement ( 'li');
menuitem.innerhtml = menuitems [i];
ContextMenu.appendChild (menuitem);
}


document.body.appendchild (contextmenu);

hocument.addeventListener ( 'contextmenu', function (e) {
e.preventDefault (); contextmenu.style.display = 'block';
});

document.addeventListener ( 'click', function () {
contextmenu.style.display = 'none}; 맥락 메뉴 항목 텍스트.

위 내용은 JavaScript 기사에서 동적 메뉴를 작성하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.