現今Web開發中,腳本語言Javascript的應用越來越廣泛。在前端開發中,二級導航菜單是一個常見的組件。本文將著重介紹使用Javascript實現二級導航的實現方法。
首先,我們需要一個具有二級菜單功能的HTML結構,在導航欄的每個菜單項內,都應該有一個子菜單項。如下所示:
<div class="nav"> <ul> <li>菜單項1 <ul> <li>子菜單項1</li> <li>子菜單項2</li> <li>子菜單項3</li> </ul> </li> <li>菜單項2 <ul> <li>子菜單項4</li> <li>子菜單項5</li> </ul> </li> <li>菜單項3</li> </ul> </div>
接著,我們利用Javascript為二級導航添加交互效果。首先,需要定義一個函數,當鼠標移入菜單項時,顯示菜單項的子菜單;鼠標移出時,隱藏子菜單。
function showSubMenu(obj) { obj.children[0].style.display = "block"; } function hideSubMenu(obj) { obj.children[0].style.display = "none"; }
然后,為每個菜單項添加事件監聽,當鼠標移入、移出時調用相應的函數。
var menuItems = document.getElementsByClassName("nav")[0].getElementsByTagName("li"); for (var i = 0; i < menuItems.length; i++) { menuItems[i].addEventListener("mouseover", function() { showSubMenu(this); }, false); menuItems[i].addEventListener("mouseout", function() { hideSubMenu(this); }, false); }
最后,添加相關的CSS樣式,美化菜單的顯示效果。
.nav ul li { position: relative; display: inline-block; } .nav ul ul { position: absolute; top: 100%; left: 0; display: none; } .nav ul ul li { display: block; white-space: nowrap; } .nav ul ul ul { top: 0; left: 100%; } .nav li:hover > ul { display: block; }
如此,我們就成功地實現了一個簡單的Javascript二級導航菜單。當鼠標移動到菜單項上方時,子菜單項會展開顯示,移出時子菜單項會自動收起,具有良好的用戶體驗。
下一篇php 公司ip