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事件一章節。
相關文章
- 垂直摺疊導航選單實現詳解
- CSS垂直導航選單CSS
- jQuery 動畫方式展開或者收縮垂直導航選單jQuery動畫
- CSS垂直三級導航選單CSS
- jQuery三級導航選單詳解jQuery
- CSS3垂直摺疊導航選單CSSS3
- elementui NavMenu導航選單預設展開UI
- CSS三級下拉導航選單詳解CSS
- CSS水平導航選單製作詳解CSS
- CSS 水平導航選單製作詳解CSS
- JavaScript滑鼠懸浮展開側欄導航JavaScript
- 二級下拉導航選單製作詳解
- Bootstrap 4 實現導航欄右側對齊boot
- C# 簡單反射實現winform左側樹形導航,右側切換內容C#反射ORM
- PbootCMS導航選單-導航選單的使用教程boot
- 點選平滑下拉展開摺疊樹形導航選單
- 中英文切換導航選單實現詳解
- ElementUI側邊欄導航選單隱藏顯示問題UI
- jQuery手風琴風格收縮展開導航選單jQuery
- css3滑鼠懸浮展開收縮導航選單CSSS3
- 左側導航click,右側內容scroll——一個模擬外賣點單的簡易頁面
- JavaScript側欄緩動分享選單詳解JavaScript
- JavaScript下拉摺疊導航選單講解JavaScript
- layui垂直導航用法大全UI
- Dcat-admin重寫頂部右側下拉選單
- JavaScript二級導航選單JavaScript
- CSS 動態導航選單CSS
- 導航選單(動畫)--- jQuery動畫jQuery
- JavaScript 三級導航選單JavaScript
- Flutter 底部導航詳解Flutter
- [開發教程]第24講:Bootstrap導航選單boot
- 影片直播原始碼,預設展開側邊欄選單原始碼
- 彈性效果網頁右側浮動框詳解網頁
- [開發教程] 第32講:Bootstrap導航選單裡的下拉選單boot
- 來,搞個側欄導航
- win11右鍵子選單展開增加延時
- CSS導航欄及下拉選單CSS
- CSS多級導航選單效果CSS
- Element-ui之導航選單UI