jquery实现无限分级横向导航菜单的方法


Posted in Javascript onMarch 12, 2015

本文实例讲述了jquery实现无限分级横向导航菜单的方法。分享给大家供大家参考。具体实现方法如下:

1. jquery插件版本代码如下:

(function($){

    $.fn.extend({

        droplinemenu: function(configs) {

            var configs = $.extend({                

                over: 200,

                out: 100, 

                rightdown:'css/down.gif'

            },configs||{});

            this.find(">ul").addClass("dropmenu");

            this.find("ul li:has(ul)").addClass('hasmenu').find(">a").append("<img class='downarrowclass' src='"+configs.rightdown+"'>");

            var currentobj;

            return $('li.hasmenu').hover(function(){                 

                if ($.browser.msie) {//清除ie下生成的overflow:hidden

                    $(this).parent("ul").css({'overflow': 'visible'}); 

                } 

                $(this).find(">ul").stop(true, true).css('top',$(this).height()).slideDown(configs.over);

            },function(){   

                $(this).find(">ul").stop(true, true).slideUp(configs.out);

            });

        }

    });

})(jQuery);

2. 样式代码
* {margin:0;padding:0}

.droplinebar{

     position: absolute;

    z-index: 20;

    width: 700px;

}

.droplinebar ul.dropmenu {

position: relative;

}

.droplinebar ul{

width: 100%; 

float: left; 

font: bold 13px Arial;

background: #242c54 url(bluedefault.gif) center center repeat-x; /*default background of menu bar*/

}

.droplinebar ul li{

    float:left; 

} 

.droplinebar ul ul {

    width: 700px;

    display:none;

    z-index: 100;

    position:absolute;

    left:0; 

    background: #303c76; 

    zoom: 1;

}

.droplinebar ul li a{

    float: left;

    color: white;

    padding: 9px 11px;

    text-decoration: none;

    display:block; 

}

.droplinebar ul li.hasmenu a img {border:none;margin-left:5px;} 

.droplinebar ul li a:hover, .droplinebar ul li .current{ /*background of main menu bar links onMouseover*/

color: white;

background: transparent url(blueactive.gif) center center repeat-x;

}  

/* Sub level menu links style */

.droplinebar ul li ul li a{

font: normal 13px Verdana;

padding: 6px;

padding-right: 8px;

margin: 0;

border-bottom: 1px solid navy;

}

.droplinebar ul li ul li a:hover{ /*sub menu links' background color onMouseover */

background: #242c54;

}

3. HTML代码如下
<link rel="stylesheet" type="text/css" href="css/droplinebar.css" /> 

<script type="text/javascript" src="js/jquery.min.js"></script> 

<script src="js/droplinemenu.js" type="text/javascript"></script> 

<script type="text/javascript"> 

$(document).ready(function(){

    $("#mydroplinemenu").droplinemenu();

});

</script>

<div id="mydroplinemenu" class="droplinebar">

<ul>

<li><a href="http://www.dynamicdrive.com/">Home</a></li>

<li><a href="http://www.dynamicdrive.com/style/">CSS Examples</a>

  <ul>

  <li><a href="#">Activities 1</a></li>

  <li><a href="#">Activities 2</a></li>

  <li><a href="#">Activities 3</a>

      <ul>

      <li><a href="#">Water Sports 1</a></li>

      <li><a href="#">Water Sports 1</a></li>

      <li><a href="#">Water Sports 1</a></li>

      <li><a href="#">Water Sports 1</a></li>

      </ul>

    </li>

  <li><a href="#">Activities 4</a></li>

  </ul>

</li>

<li><a href="http://tools.dynamicdrive.com">Tools</a></li>

<li><a href="http://www.javascriptkit.com/">JavaScript</a>

  <ul>

  <li><a href="#">Traveling 1</a></li>

  <li><a href="#">Traveling 2</a></li>

  <li><a href="#">Traveling 3</a></li>

  <li><a href="#">Traveling 4</a>

      <ul>

      <li><a href="#">Africa 1</a></li>

      <li><a href="#">Africa 2</a></li>

      <li><a href="#">Africa 3</a></li>

      <li><a href="#">Africa 4</a>

          <ul>

          <li><a href="#">Kenya 1</a></li>

          <li><a href="#">Kenya 2</a></li>

          <li><a href="#">Kenya 3</a></li>

          <li><a href="#">Kenya 4</a></li>

          <li><a href="#">Kenya 5</a></li>

          </ul>

        </li>

      </ul>

    </li>

  <li><a href="#">Traveling 5</a></li>

  </ul>

</li>

<li><a href="http://www.cssdrive.com">Gallery</a></li>

</ul>

</div>

4. 无插件版本代码:
$(document).ready(function(){

    var configs_over = 200,configs_out = 100;

    $("#mydroplinemenu").find(">ul").addClass("dropmenu").find("li:has(ul)").addClass('hasmenu').find(">a").append("<img class='downarrowclass' src='css/down.gif'>");

    $('.dropmenu li.hasmenu').hover(function(){              

        if ($.browser.msie) {//清除ie下生成的overflow:hidden

            $(this).parent("ul").css({'overflow': 'visible'}); 

        } 

        $(this).find(">ul").stop(true, true).css('top',$(this).height()).slideDown(configs_over);

    },function(){   

        $(this).find(">ul").stop(true, true).slideUp(configs_out);

    });

});

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JQuery 小练习(实例代码)
Aug 07 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
jquery改变tr背景色的示例代码
Dec 28 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
jQuery实现商品活动倒计时
Oct 16 Javascript
基于BootStarp的Dailog
Apr 28 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 Javascript
微信小程序返回多级页面的实现方法
Oct 27 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
vue 实现一个简单的全局调用弹窗案例
Sep 10 Javascript
JavaScript中定义函数的三种方法
Mar 12 #Javascript
javascript实时显示北京时间的方法
Mar 12 #Javascript
jquery实现焦点图片随机切换效果的方法
Mar 12 #Javascript
JavaScript数据结构与算法之栈详解
Mar 12 #Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 #Javascript
Javascript数据结构与算法之列表详解
Mar 12 #Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
Mar 12 #Javascript
You might like
老照片 - 几十年前的收音机与人
2021/03/02 无线电
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
jQuery实现动态加载瀑布流
2020/09/01 jQuery
python实现的简单窗口倒计时界面实例
2015/05/05 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
vue+django实现下载文件的示例
2021/03/24 Vue.js
大学生物业管理求职信
2013/10/24 职场文书
12月红领巾广播稿
2014/02/13 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
团日活动总结书
2014/05/08 职场文书
2015年路政工作总结
2015/05/22 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
毕业欢送会致辞
2015/07/29 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记