jquery實(shí)現(xiàn)樹形菜單完整代碼
本實(shí)例實(shí)現(xiàn)了樹形的動(dòng)態(tài)菜單,兼容IE8,火狐,Chrome等瀏覽器。使用了jQuery的toggle() 方法。效果和代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery的樹形菜單代碼 </title> <meta name="keywords" content="www.cnblogs.com/jihua"/> <style type="text/css"> body { font-family:"宋體"; font-size: 12px; line-height: 1.5em; color:#7FB0C8; padding:0; margin:0; background: #336699;} ul,ol,li,dl,dt,dd { margin:0; padding:0; list-style-type:none;} h1,h2,h3,form,input,iframe,span { margin:0; padding:0;} a { color:#7FB0C8;} a:link {color: #7FB0C8; TEXT-DECORATION: none;} a:visited {color: #7FB0C8; TEXT-DECORATION: none;} a:hover {color: #fff; TEXT-DECORATION: none;} .white { color:#fff;} .white a:link {color: #fff; TEXT-DECORATION: none;} .white a:visited {color: #fff; TEXT-DECORATION: none;} .white a:hover {color: #73E1F5; TEXT-DECORATION: none;} /* 樹形菜單開始 */ .close { float:right; clear:right; font-size:12px; font-weight:normal; cursor:pointer; padding-right:10px;} .title { font-size:14px; color:#fff; margin-bottom:10px; padding-left:5px; width:290px;} .menu { width:290px; height:330px; margin-bottom:10px;} .l1 { background:#000; font-size:13px; padding:5px 0 0 30px; height:20px; margin-bottom:5px; cursor:pointer;} .slist { margin:0 0 5px 0; display:none;} .l2 { padding:0 0 0 35px; font-size:13px;} .l2 a { padding:6px 0 0 5px; width:230px; height:21px; display:block;} .currentl2 a,.l2 a:hover { background:#1E5A82; color:#fff;} .sslist { background:#156890; width:235px; overflow:hidden; margin:0 0 5px 35px; display:none;} .l3 a { padding:6px 0 0 5px; width:230px; height:20px; display:block;} .currentl3 a,.l3 a:hover { color:#fff; font-weight:bold;} </style> <script type="text/javascript" src="http://keleyi.com/keleyi/pmedia/jquery/jquery-1.4.2.min.js"></script> <script type="text/javascript"> // 樹狀菜單 $(document).ready(function () { $(".l1").toggle(function () { $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "slow"); $(this).next(".slist").animate({ height: 'toggle', opacity: 'toggle' }, "slow"); }, function () { $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "slow"); $(this).next(".slist").animate({ height: 'toggle', opacity: 'toggle' }, "slow"); }); $(".l2").toggle(function () { $(this).next(".sslist").animate({ height: 'toggle', opacity: 'toggle' }, "slow"); }, function () { $(this).next(".sslist").animate({ height: 'toggle', opacity: 'toggle' }, "slow"); }); $(".l2").click(function () { $(".l3").removeClass("currentl3"); $(".l2").removeClass("currentl2"); $(this).addClass("currentl2"); }); $(".l3").click(function () { $(".l3").removeClass("currentl3"); $(this).addClass("currentl3"); }); $(".close").toggle(function () { $(".slist").animate({ height: 'toggle', opacity: 'show' }, "fast"); $(".sslist").animate({ height: 'toggle', opacity: 'show' }, "fast"); }, function () { $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "fast"); $(".sslist").animate({ height: 'toggle', opacity: 'hide' }, "fast"); }); }); </script> </head> <body> <h1 class="title"><span class="close">全部收起/展開</span>Jihua樹形菜單</h1> <div class="menu"> <h1 class="l1">一級(jí)菜單</h1> <div class="slist"> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> <ul class="sslist"> <li class="l3"><a href="#">·三級(jí)菜單</a></li> <li class="l3"><a href="#">·三級(jí)菜單</a></li> <li class="l3"><a href="#" target="_blank">·jihua.cnblogs.com</a></li> <li class="l3"><a href="#">·三級(jí)菜單</a></li> </ul> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> <ul class="sslist"> <li class="l3"><a href="#">·三級(jí)菜單</a></li> <li class="l3"><a href="#">·三級(jí)菜單</a></li> <li class="l3"><a href="#" target="_blank">·三級(jí)菜單</a></li> <li class="l3"><a href="#">·三級(jí)菜單</a></li> </ul> <h2 class="l2"><a href="#">二級(jí)jb51.net</a></h2> </div> <h1 class="l1">一級(jí)腳本</h1> <div class="slist"> <h2 class="l2"><a href="#">二級(jí)菜單計(jì)劃</a></h2> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> </div> <h1 class="l1">一級(jí)菜單</h1> <div class="slist"> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> <h2 class="l2"><a href="#">二級(jí)菜單</a></h2> </div> </div> </body> </html>
本實(shí)例用到j(luò)query的toggle() 方法,介紹如下:
定義和用法
toggle() 方法切換元素的可見狀態(tài)。
如果被選元素可見,則隱藏這些元素,如果被選元素隱藏,則顯示這些元素。
語法
$(selector).toggle(speed,callback,switch)
提示和注釋
注釋:該效果適用于通過 jQuery 隱藏的元素,或在 CSS 中聲明 display:none 的元素(但不適用于 visibility:hidden 的元素)。
以上就是jquery實(shí)現(xiàn)樹形菜單完整代碼,希望對(duì)大家的學(xué)習(xí)jquery程序設(shè)計(jì)有所幫助。
- jquery實(shí)現(xiàn)自定義樹形表格的方法【自定義樹形結(jié)構(gòu)table】
- jQuery 利用ztree實(shí)現(xiàn)樹形表格的實(shí)例代碼
- 推薦8款jQuery輕量級(jí)樹形Tree插件
- jQuery樹形控件zTree使用小結(jié)
- jquery ztree實(shí)現(xiàn)下拉樹形框使用到了json數(shù)據(jù)
- json+jQuery實(shí)現(xiàn)的無限級(jí)樹形菜單效果代碼
- jQuery ztree實(shí)現(xiàn)動(dòng)態(tài)樹形多選菜單
- jQuery 樹形結(jié)構(gòu)的選擇器
- 輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建樹形菜單
- jQuery實(shí)現(xiàn)樹形員工信息表
相關(guān)文章
jQuery-1.9.1源碼分析系列(十一)DOM操作續(xù)之克隆節(jié)點(diǎn)
這篇文章主要介紹了jQuery-1.9.1源碼分析系列(十一)DOM操作續(xù)之克隆節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2015-12-12詳解Jquery EasyUI tree 的異步加載(遍歷指定文件夾,根據(jù)文件夾內(nèi)的文件生成tree)
本篇文章主要介紹了Jquery EasyUI tree 的異步加載,可以實(shí)現(xiàn)遍歷指定文件夾,根據(jù)文件夾內(nèi)的文件生成tree,有興趣的可以了解一下。2017-02-02zTree樹形菜單交互選項(xiàng)卡效果的實(shí)現(xiàn)方法
下面小編就為大家分享一篇zTree樹形菜單交互選項(xiàng)卡效果的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12由簡(jiǎn)入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)
下面小編就為大家?guī)硪黄珊?jiǎn)入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06javascript jQuery $.post $.ajax用法
這是一個(gè)簡(jiǎn)單的 POST 請(qǐng)求功能以取代復(fù)雜 $.ajax 。請(qǐng)求成功時(shí)可調(diào)用回調(diào)函數(shù)。如果需要在出錯(cuò)時(shí)執(zhí)行函數(shù),請(qǐng)使用 $.ajax。2008-07-07基于jQuery的$.getScript方法去加載javaScript文檔解析
下面小編就為大家?guī)硪黄趈Query的$.getScript方法去加載javaScript文檔解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11jQuery實(shí)現(xiàn)滑動(dòng)星星評(píng)分效果(每日分享)
jQuery星星評(píng)分制作5顆星星鼠標(biāo)滑過評(píng)分打分效果,可取消評(píng)分結(jié)果,重新打分。下面通過代碼給大家講解的非常詳細(xì),需要的的朋友參考下2019-11-11