本文实例讲述了jquery+CSS实现的多级竖向展开树形TRee菜单效果。分享给大家供大家参考。具体如下:
这里演示垂直的树形菜单,应用CSS和jquery技术来实现,显示在网页左侧比较合适,考虑到简洁,没有使用图片之类的作修饰。本效果兼容IE、火狐等主流浏览器。
运行效果截图如下:
在线演示地址如下:
http://demo.phpstudy.net/js/2015/jquery-css-nlevel-vshow-tree-codes/
具体代码如下:
<!DOCTYPE html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <title>jQuery多级层叠树形菜单效果</title> <style> .topnav { width: 213px; padding: 40px 28px 25px 0; font-family: \"CenturyGothicRegular\", \"Century Gothic\", Arial, Helvetica, sans-serif; } ul.topnav { padding: 0; margin: 0; font-size: 1em; line-height: 0.5em; list-style: none; } ul.topnav li {} ul.topnav li a { line-height: 10px; font-size: 11px; padding: 10px 5px; color: #000; display: block; text-decoration: none; font-weight: bolder; } ul.topnav li a:hover { background-color:#675C7C; color:white; } ul.topnav ul { margin: 0; padding: 0; display: none; } ul.topnav ul li { margin: 0; padding: 0; clear: both; } ul.topnav ul li a { padding-left: 20px; font-size: 10px; font-weight: normal; outline:0; } ul.topnav ul li a:hover { background-color:#D3C99C; color:#675C7C; } ul.topnav ul ul li a { color:silver; padding-left: 40px; } ul.topnav ul ul li a:hover { background-color:#D3CEB8; color:#675C7C; } ul.topnav span{ float:right; } </style> <script type=\"text/javascript\" src=\"jquery-1.6.2.min.js\"></script> <script type=\"text/javascript\"> (function($){ $.fn.extend({ accordion: function(options) { var defaults = { accordion: \'true\', speed: 300, closedSign: \'[+]\', openedSign: \'[-]\' }; var opts = $.extend(defaults, options); var $this = $(this); $this.find(\"li\").each(function() { if($(this).find(\"ul\").size() != 0){ $(this).find(\"a:first\").append(\"<span>\"+ opts.closedSign +\"</span>\"); if($(this).find(\"a:first\").attr(\'href\') == \"#\"){ $(this).find(\"a:first\").click(function(){return false;}); } } }); $this.find(\"li.active\").each(function() { $(this).parents(\"ul\").slideDown(opts.speed); $(this).parents(\"ul\").parent(\"li\").find(\"span:first\").html(opts.openedSign); }); $this.find(\"li a\").click(function() { if($(this).parent().find(\"ul\").size() != 0){ if(opts.accordion){ if(!$(this).parent().find(\"ul\").is(\':visible\')){ parents = $(this).parent().parents(\"ul\"); visible = $this.find(\"ul:visible\"); visible.each(function(visibleIndex){ var close = true; parents.each(function(parentIndex){ if(parents[parentIndex] == visible[visibleIndex]){ close = false; return false; } }); if(close){ if($(this).parent().find(\"ul\") != visible[visibleIndex]){ $(visible[visibleIndex]).slideUp(opts.speed, function(){ $(this).parent(\"li\").find(\"span:first\").html(opts.closedSign); }); } } }); } } if($(this).parent().find(\"ul:first\").is(\":visible\")){ $(this).parent().find(\"ul:first\").slideUp(opts.speed, function(){ $(this).parent(\"li\").find(\"span:first\").delay(opts.speed).html(opts.closedSign); }); }else{ $(this).parent().find(\"ul:first\").slideDown(opts.speed, function(){ $(this).parent(\"li\").find(\"span:first\").delay(opts.speed).html(opts.openedSign); }); } } }); } }); })(jQuery); </script> <script language=\"JavaScript\"> $(document).ready(function() { $(\".topnav\").accordion({ accordion:false, speed: 500, closedSign: \'[+]\', openedSign: \'[-]\' }); }); </script> <ul class=\"topnav\"> <li><a href=\"#\" target=\"scriptbreaker\">Home</a></li> <li><a href=\"#\">JavaScript</a> <ul> <li><a href=\"#\">Cookies</a></li> <li><a href=\"#\">Events</a></li> <li><a href=\"#\">Forms</a></li> <li><a href=\"#\">Games</a></li> <li><a href=\"#\">Images</a></li> <li><a href=\"#\">Navigations</a> <ul> <li><a href=\"#\">CSS</a></li> <li><a href=\"#\">JavaScript</a></li> <li><a href=\"#\">JQuery</a></li> </ul> </li> <li><a href=\"#\">Tabs</a></li> </ul> </li> <li><a href=\"#\">Tutorials</a> <ul> <li class=\"active\"><a href=\"#\">HTML</a></li> <li><a href=\"#\">CSS</a></li> <li><a href=\"#\">JavaScript</a></li> <li><a href=\"#\">Java</a> <ul> <li><a href=\"#\">JSP</a></li> <li><a href=\"#\">JSF</a></li> <li><a href=\"#\">JPA</a></li> <li><a href=\"#\" target=\"_blank\">Contact</a></li> </ul> </li> <li><a href=\"#\">Tabs</a></li> </ul> </li> <li><a href=\"#\" target=\"_blank\">Contact</a></li> <li><a href=\"#\">Upload script</a></li> </ul> </body> </html>
希望本文所述对大家的jquery程序设计有所帮助。
本文地址:https://www.stayed.cn/item/9224
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我