사이드 탐색 막대의 단일 열 잠수함 효과 구현
이 기사는 측면 탐색 막대에서 하위 메뉴의 단일 오프닝 효과를 달성하는 방법을 개발하는 명확하고 간결한 자습서를 제공하는 것을 목표로합니다. JavaScript 코드를 수정하여 언제든지 하나의 하위 메뉴 만 확장되어 사용자 경험을 향상시켜야합니다. 우리는 코드 구현을 자세히 설명 하고이 기술을 신속하게 마스터하는 데 도움이되는 완전한 예를 제공 할 것입니다.
구현 원리
핵심 아이디어는 하위 메뉴의 헤드를 클릭 할 때마다 먼저 확장 된 하위 메뉴가 있는지 확인하는 것입니다. 그렇다면 닫고 현재 클릭 한 하위 메뉴를 확장하십시오. 이것은 확장 된 상태에 항상 단 하나의 하위 메뉴 만 있음을 보장합니다.
코드 구현
이 기능을 구현하기 위해 JavaScript 코드를 수정하는 단계는 다음과 같습니다.
모든 SUBMENU 헤더 요소를 가져옵니다. Document.QuerySelectorall을 사용하여 모든 .sub_menu_header 요소를 가져옵니다.
각 하위 메뉴 헤더에 대한 클릭 이벤트 리스너 추가 : 모든 하위 메뉴 헤더 요소를 반복하고 각 요소에 대한 클릭 이벤트 리스너를 추가하십시오.
클릭 이벤트 핸들러 함수에서 먼저 열린 하위 메뉴를 닫으십시오 : 클릭 이벤트 핸들러 함수에서 먼저 document.queryselector ( ". sub_menu_body.active")를 사용하여 현재 활성 클래스가있는 .sub_menu_body 요소가 있는지 여부를 찾으십시오. 발견 된 경우 ClassList.Remove ( "Active")를 사용하여 클래스 이름을 제거하십시오.
그런 다음 현재 클릭 된 하위 메뉴의 디스플레이 상태를 전환하십시오.
다음은 수정 된 JavaScript 코드입니다.
const sub_menu = document.querySelectorall ( '. sub_menu'); sub_menu.foreach ((항목) => { const submenuheader = item.queryselector ( '. sub_menu_header') const submenubody = item.querySelector ( '. sub_menu_body') submenuheader.addeventListener ( 'click', () => { // 열린 잠수함을 닫습니다 if (document.querySelector ( ". sub_menu_body.Active")) { document.querySelector ( ". sub_menu_body.active"). classlist.remove ( "active"); } // 현재 서브 메뉴 SUBMENUBODY.CLASSLIST.TOGGLE ( 'Active')의 표시 상태를 전환합니다. }) })
이 코드는 먼저 활성화 된 하위 메뉴가 있는지 확인하고 그렇다면 활성 클래스를 제거하여 폐쇄합니다. 그런 다음 현재 클릭 한 하위 메뉴의 활성 클래스를 토글하여 잠수함이 닫히면 열고 열린 경우 닫습니다.
완전한 예
다음은 전체 HTML, CSS 및 JavaScript 샘플 코드입니다.
html (index.html) :
<meta charset="utf-8"> <meta name="viewport" content="width = device-width, 초기 스케일 = 1.0"> <meta http-equiv="x-ua compatible" content="ie = edge"> <link rel="스타일" href="./%20style.css"> <title> 측면 Nav </title> <nav id="nav_menu_query_off"> <li class="main_list_item"> <div class="menu_header"> 메뉴 1 </div> <div class="menu_body"> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 One </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 2 </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 3 </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> </menu> </menu> </menu> </div> </li> <li class="main_list_item"> <div class="menu_header"> 메뉴 2 </div> <div class="menu_body"> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 One </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 2 </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> <menu class="sub_menu"> <div class="sub_menu_header"> 서브 메뉴 3 </div> <div class="sub_menu_body"> <li class="inner_list_item"> <a href=""> link one </a> </li> <li class="inner_list_item"> <a href=""> 링크 2 </a> </li> <li class="inner_list_item"> <a href=""> 링크 3 </a> </li> <li class="inner_list_item"> <a href=""> link four </a> </li> <li class="inner_list_item"> <a href=""> link 5 </a> </li> <li class="inner_list_item"> <a href=""> link six </a> </li> <li class="inner_list_item"> <a href=""> link seven </a> </li> </div> 메뉴> </menu> </menu> </menu> </div> </li> 메뉴> </nav>
위 내용은 사이드 탐색 막대의 단일 열 잠수함 효과 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

HTML을 신속하게 시작하려면 웹 골격을 만들기 위해 몇 가지 기본 태그 만 마스터하면됩니다. 1. 페이지 구조는 필수적이며 루트 요소 인 메타 정보를 포함하며 컨텐츠 디스플레이 영역입니다. 2. 제목을 사용하십시오. 레벨이 높을수록 숫자가 작습니다. 레벨을 건너 뛰지 않도록 태그를 사용하여 텍스트를 분할하십시오. 3. 링크는 태그를 사용하고 HREF 속성과 일치하며 이미지는 태그를 사용하고 SRC 및 ALT 속성을 포함합니다. 4. 목록은 순서가없는 목록 및 주문 된 목록으로 나뉩니다. 각 항목은 표시되며 목록에 중첩되어야합니다. 5. 초보자는 모든 태그를 암기 할 필요가 없습니다. 글을 쓰는 동안 글을 쓰고 확인하는 것이 더 효율적입니다. 기본 웹 페이지를 만들기 위해 구조, 텍스트, 링크, 사진 및 목록을 마스터하십시오.

thenameattributeinanninputtagisusedtoifordite theOntify theOntify theOndeformissubmitted; itservessasekey-valuepairsentTotheserver, wheretheuser 's sinputisthevalue.1.whenaformissubmitted, whenaforted, thenameattributeBalueBecomesThevulueInThevalueInThevalueIntheAntheAnteAnteMOmesteAnteToTeServer

sinvalidhtml; browsersautomicallycloseThefirstbeOptenTenext, rentingInseparateParAgraphs.linlineElements, orforstylingwithinaparagraph, orforstylingwithinaparagraph, 또는 BlockContainers Orblockcontainers Orblockcontainers

Shadowdom은 분리 된 DOM 하위 트리를 생성하기 위해 웹 구성 요소 기술에 사용되는 기술입니다. 1. 일반적인 HTML 요소에서 독립적 인 DOM 구조의 산을 자체 스타일과 동작으로 허용하며 기본 문서에 영향을 미치지 않습니다. 2. att 3. HTML과 함께 사용하면 세 가지 주요 기능이 있습니다. 명확한 구조, 스타일 격리 및 컨텐츠 투영 (슬롯); 4. 참고에는 복잡한 디버깅, 스타일 범위 제어, 성능 오버 헤드 및 프레임 워크 호환성 문제가 포함됩니다. 요컨대, Shadowdom은 재사용 가능 및 비 폴 루팅 UI 구성 요소를 구축하기위한 기본 캡슐화 기능을 제공합니다.

태그를 사용하는 것이 가장 쉽고 권장되는 방법입니다. 구문은 최신 브라우저가 PDF를 직접 포함시키는 데 적합합니다. 2. 태그를 사용하면 더 나은 제어 및 백업 컨텐츠 지원을 제공 할 수 있으며 구문은 지원되지 않을 때 백업 솔루션으로 태그의 다운로드 링크를 제공 할 수 있습니다. 3. Google Docsviewer를 통해 내장 할 수 있지만 개인 정보 및 성능 문제로 인해 널리 사용하는 것이 좋습니다. 4. 사용자 경험을 향상시키기 위해서는 적절한 높이를 설정해야하며 응답 크기 (예 : 높이 : 80VH) 및 PDF 다운로드 링크를 제공하여 사용자가 스스로 다운로드하여 볼 수 있도록해야합니다.

스타일 배치 방법은 장면에 따라 선택해야합니다. 1. 인라인은 단일 요소 또는 동적 JS 제어의 임시 수정에 적합합니다. 2. 내부 CSS는 페이지가 적고 간단한 구조가있는 프로젝트에 적합하며, 이는 로그인 페이지의 기본 스타일 설정과 같은 스타일의 중앙 집중식 관리에 편리합니다. 3. 재사용, 유지 보수 및 성능에 우선 순위가 부여되며 대규모 프로젝트를 위해 외부 링크 CSS 파일을 분할하는 것이 좋습니다.

HTML이 변절되지 않은 목록을 만들려면 목록 컨테이너를 정의하기 위해 태그를 사용해야합니다. 각 목록 항목은 태그로 포장되며 브라우저에는 총알이 자동으로 추가됩니다. 1. 태그로 목록을 만듭니다. 2. 각 목록 항목은 태그로 정의됩니다. 3. 브라우저는 기본 점 기호를 자동으로 생성합니다. 4. 하위 목록을 중첩을 통해 구현할 수 있습니다. 5. CSS의 목록 스타일 유형 속성을 사용하여 디스크, 원, 사각형 또는 없음과 같은 심볼 스타일을 수정하십시오. 이 태그를 올바르게 사용하여 표준 비 순응 목록을 생성하십시오.

thecontentEditableAttributeMakesanyHtMlEmentEdivideTibledingContEntEditable = "true", intuusStrodifictlyContentInTheBrowser.2.itiscommonLyusedInrichTexTedItors, note-taking-interfaces, supportElementSlikediv
