在純javascript中創建下拉導航時很困難。沒有jquery。顯示與您懸停的項目相關的下拉列表。
菜單應該以單個按鈕開頭,當您將鼠標懸停在菜單上時,該按鈕會顯示下拉菜單項 。將鼠標懸停在5個菜單項中的一個上時,應該會在原始菜單右側顯示第二個下拉菜單,另外還有5個項目。
即時通訊的問題是如何定位導航項目的直屬子項。
例如,如果我將鼠標懸停在第一項上,則會顯示子下拉菜單。但它不適用於第二個項目等等。
任何幫助將不勝感激。謝謝!
HTML
<section class="dropdown-container">
<button id="dropdown-trigger">Dropdown</button>
<nav class="dropdown-list none">
<ul class="dropdown">
<li>
<span class="nav-link"> Item</span>
<ul class="sub-dropdown none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
<li>
<span class="nav-link">Item/span>
<ul class="sub-dropdown none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
<li>
<span class="nav-link">Item</span>
<ul class="sub-dropdown none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
<li>
<span class="nav-link">Item</span>
<ul class="sub-dropdown none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
<li>
<span class="nav-link">Item</span>
<ul class="sub-dropdown none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
</ul>
</nav>
</section>
的JavaScript
var button = document.getElementById('dropdown-trigger'),
dropdown = document.getElementsByClassName('dropdown'),
dropdownList = document.querySelector('.dropdown-list'),
navLink = document.getElementsByClassName('nav-link'),
link = document.querySelector('.dropdown'),
subDropdown = document.getElementsByClassName('sub-dropdown');
button.addEventListener('mouseover', displayDropdown);
button.addEventListener('mouseout', removeDropdown);
function displayDropdown() {
dropdownList.classList.toggle('none');
}
function removeDropdown() {
dropdownList.classList.toggle('none');
}
的jsfiddle:https://jsfiddle.net/1dx73fy6/
您沒有權限使用jQuery? –
@ZakariaAcharki我試圖嚴格學習js –