国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS中用三種方式實現導航菜單中的二級下拉菜單

2019-11-20 08:37:26
字體:
來源:轉載
供稿:網友

  我們在淘寶、搜狐等大型網站上都可以看到使用的一些二級下拉菜單,比如下面這張圖片。那么如何實現導航菜單欄中的二級下拉菜單?下面小編給大家分享實現思路。

但是如何實現類似的圖片呢?實際上,我們有至少三種方式來實現,下面,我附上代碼供大家參考。

1.僅使用html和css

<meta charset="UTF-8"><title>Document</title><style>*{margin:0;padding: 0;list-style: none;text-decoration: none;}#nav{width: 500px;height: 40px;background: #ccc;margin: 0 auto;}ul{background: #aaa}ul li{float:left; display:block; height: 40px; line-height: 40px; padding: 0 20px; position: relative;}ul li:hover{background: #cea;}ul li ul li{float: none;}/*關鍵一:將二級菜單設置為display:none;*/ul li ul{position: absolute;top:40px;left: 0; display: none;}ul li ul li:hover{background: red;}/*關鍵二:在劃過二級菜單從屬的一級菜單時,設置為display:block;*/ul li:hover ul{display: block;}</style><div id="nav"><ul><li><a href="">首頁</a></li><li><a href="">汽車</a><ul><li><a href="#">奧迪</a> </li><li><a href="#">道奇</a> </li></ul></li><li><a href="">手機</a><ul><li><a href="#">小米</a> </li><li><a href="#">華為</a> </li></ul></li><li><a href="">聯系我們</a></li></ul></div>

  我們可以看到,這種方法是比較好的,它保證了結構與表現的完全分離。

2.用javasc

<!DOCTYPE htm><html lang="en"><head ><meta charset="UTF-8"><title>Document</title><style>*{margin:0;padding: 0;list-style: none;text-decoration: none;}#nav{width: 500px;height: 40px;background: #ccc;margin: 0 auto;}ul{background: #aaa}ul li{float:left; display:block; height: 40px; line-height: 40px; padding: 0 20px; position: relative;}ul li:hover{background: #cea;}ul li ul li{float: none;}ul li ul{position: absolute;top:40px;left: 0; display:none;}ul li ul li:hover{background: red;}</style><div id="nav"><ul><li><a href="#">首頁</a></li><li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">汽車</a><!-- 關鍵一:在二級標題從屬的一級標題標簽內設置時間執行程序,this代表的時這個li元素 --><ul><li><a href="#">奧迪</a> </li><li><a href="#">道奇</a> </li></ul></li><li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">手機</a><ul><li><a href="#">小米</a> </li><li><a href="#">華為</a> </li></ul></li><li><a href="#">聯系我們</a></li></ul></div> script>function show(li){var ul=li.getElementsByTagName("ul")[0];// 關建二:在li這個對象內查詢標簽名為ul的標簽,由于二級標簽只有一個,所以索引為0即可。ul.style.display="block";// 關鍵三:當鼠標劃過li時,其子元素ul標簽的display為block}function hide(li){var ul=li.getElementsByTagName("ul")[0];ul.style.display="none";// 關鍵四:當鼠標劃出li時,其子元素ul的display為none}/script>

使用javascript實現起來較為麻煩,且這里結構和行為沒有分開(雖然可以試用dom在JavaScript中創建使得結構和行為分開,但十分繁瑣),不推薦。

3.用jQuery實現

  jQuery是一種javascript庫,我們可以在jQuery官網上下載最新版本的庫文件,其中壓縮的文件是用于產品的,為壓縮的文件是便于開發人員學習和調試的。下載到本機以后,需要將庫文件引用到html中,由于jQuery本質上也是JavaScript,所以引用方式為:   

<script src="路徑名稱"></script>

用jQuery實現二級下拉菜單的代碼如下:

<meta charset="UTF-8"><title>Document</title><style>*{margin:0;padding: 0;list-style: none;text-decoration: none;}#nav{width: 500px;height: 40px;background: #ccc;margin: 0 auto;}ul{background: #aaa}ul li{float:left; display:block; height: 40px; line-height: 40px; padding: 0 20px; position: relative;}ul li:hover{background: #cea;}ul li ul li{float: none;}ul li ul{position: absolute;top:40px;left: 0; display: none;}ul li ul li:hover{background: red;}</style><div id="nav"><ul><li><a href="">首頁</a></li><li class="navmenu"><a href="">汽車</a><ul><li><a href="#">奧迪</a> </li><li><a href="#">道奇</a> </li></ul></li><li class="navmenu"><a href="">手機</a><ul><li><a href="#">小米</a> </li><li><a href="#">華為</a> </li></ul></li><li><a href="">聯系我們</a></li></ul></div> <!-- 關鍵一:引入jQuery庫文件 -->script type="text/javascript">$(function(){$(".navmenu").mouseover(function(){$(this).children("ul").show();})})// 關鍵二:正確使用jQuey的語法完成行為。$(function(){$(".navmenu").mouseout(function(){$(this).children("ul").hide();})})/script>

 顯然,使用jQuery是非常方便的。

最終的實現效果如下;

即當鼠標劃過一級菜單時,會出現相應的二級菜單。

以上所述是小編給大家介紹的JS中用三種方式實現導航菜單中的二級下拉菜單,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长泰县| 古交市| 武隆县| 巫山县| 繁峙县| 平顺县| 延庆县| 河津市| 喜德县| 安庆市| 翁源县| 蒲江县| 临海市| 梅河口市| 黎平县| 大英县| 双峰县| 延吉市| 余干县| 拜城县| 樟树市| 镇沅| 湘乡市| 唐海县| 黄冈市| 安顺市| 定陶县| 山阴县| 平遥县| 巴楚县| 兴义市| 青阳县| 舒城县| 上杭县| 依兰县| 桐柏县| 比如县| 静海县| 延长县| 西丰县| 玉环县|