js垂直右側展開導航選單詳解
本章節分享一段程式碼例項,它實現了滑鼠懸浮能夠在右側出現導航選單的效果。
這樣的效果在實際應用中也是比較常見的,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> .suckerdiv ul{ width:120px; position:relative; } .suckerdiv ul li ul{ left:120px; position:absolute; width:140px; top:0; display:none; } .suckerdiv ul li a{ display:block; color:#353302; text-decoration:none; font:12px 宋體; background:#eee; line-height:24px; padding:0px 10px; border:1px solid #fff; border-bottom:0; } .suckerdiv ul li a:hover{ color:white; background-color:#97c839; } .suckerdiv a.subfolderstyle:hover{ background:#97c839; } </style> <script type="text/javascript"> var menuids = ["suckertree1"] function buildsubmenus() { for (var index = 0; index < menuids.length; index++) { var ultags = document.getElementById(menuids[index]).getElementsByTagName("ul") for (var t = 0; t < ultags.length; t++) { ultags[t].parentNode.getElementsByTagName("a")[0].className = "subfolderstyle" ultags[t].parentNode.onmouseover = function () { this.getElementsByTagName("ul")[0].style.display = "block"; } ultags[t].parentNode.onmouseout = function () { this.getElementsByTagName("ul")[0].style.display = "none" } } } } window.onload=function(){ buildsubmenus(); } </script> </head> <body> <div class="suckerdiv"> <ul id="suckertree1"> <li><a href="#">騰訊新聞</a></li> <li><a href="#">騰訊汽車</a></li> <li><a href="#">騰訊科技</a></li> <li> <a href="#">騰訊手機</a> <ul> <li><a href="#">HTC</a></li> <li><a href="#">聯想</a></li> <li><a href="#">華為</a></li> <li><a href="#">中興</a></li> </ul> </li> </ul> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var menuids = ["suckertree1"],將外層ul的id屬性值存入陣列。
(2).function buildsubmenus() {},此方法實現了選單功能。
(3).for (var index = 0; index < menuids.length; index++) {},遍歷陣列元素,當然這裡陣列中只有一個元素。
(4).var ultags = document.getElementById(menuids[index]).getElementsByTagName("ul"),獲取二級ul元素集合。
(5).for (var t = 0; t < ultags.length; t++) {},遍歷集合中的每一個ul元素。
(6).ultags[t].parentNode.getElementsByTagName("a")[0].className = "subfolderstyle",將二級ul元素的父元素節點(li元素)下的第一個連結元素新增class樣式類"subfolderstyle"。和下面的這個css程式碼對應:
.suckerdiv a.subfolderstyle:hover{
background:#97c839;
},這樣滑鼠懸浮的時候,就可以實現背景變色。
(7).ultags[t].parentNode.onmouseover = function () {
this.getElementsByTagName("ul")[0].style.display = "block";
},註冊onmouseover事件處理函式,當滑鼠懸浮二級ul元素展現。
(8).ultags[t].parentNode.onmouseout = function () {
this.getElementsByTagName("ul")[0].style.display = "none"
},註冊onmouseout 事件處理函式,當滑鼠離開,二級選單消失。
二.相關閱讀:
(1).getElementsByTagName()可以參閱document.getElementsByTagName()一章節。
(2).className屬性可以參閱js className一章節。
(3).parentNode可以參閱parentNode一章節。
(4).onmouseover事件可以參閱javascript mouseover事件一章節。
(5).onmouseout事件可以參閱javascript mouseout事件一章節。
相關文章
- jQuery垂直可摺疊展開導航選單程式碼例項詳解jQuery
- 垂直摺疊導航選單實現詳解
- jQuery垂直手風琴導航選單詳解jQuery
- 一側具有滑鼠跟隨效果的垂直導航選單
- jQuery 動畫方式展開或者收縮垂直導航選單jQuery動畫
- CSS垂直導航選單CSS
- jQuery點選展開摺疊手風琴導航選單詳解jQuery
- 左側分類導航選單
- CSS垂直三級導航選單CSS
- 原生js三級導航選單實現詳解JS
- jQuery三級導航選單詳解jQuery
- elementui NavMenu導航選單預設展開UI
- CSS3垂直摺疊導航選單CSSS3
- JavaScript滑鼠懸浮展開側欄導航JavaScript
- CSS水平導航選單製作詳解CSS
- CSS 水平導航選單製作詳解CSS
- jQuery手風琴導航選單詳解jQuery
- 側欄導航自動定位效果詳解
- 商城側欄導航效果實現詳解
- 具有彈性效果的右鍵導航選單
- Bootstrap 4 實現導航欄右側對齊boot
- 垂直手風琴導航選單程式碼例項
- C# 簡單反射實現winform左側樹形導航,右側切換內容C#反射ORM
- 自定義右鍵導航選單程式碼例項
- 水平伸縮動畫導航選單實現詳解動畫
- 點選平滑下拉展開摺疊樹形導航選單
- 垂直樹形多級導航選單程式碼例項
- 垂直可伸縮的導航選單例項程式碼單例
- 點選標題下拉展開二級子標題導航選單
- 中英文切換導航選單實現詳解
- ElementUI側邊欄導航選單隱藏顯示問題UI
- 側欄能夠定位的導航選單程式碼例項
- CSS實現的側欄三級導航選單程式碼CSS
- jQuery手風琴風格收縮展開導航選單jQuery
- css3滑鼠懸浮展開收縮導航選單CSSS3
- 手風琴方式展開和摺疊導航選單效果
- jQuery實現的點選展開其他專案摺疊導航選單jQuery
- JavaScript自定義右鍵選單詳解JavaScript