这是一款响应式的多级导航菜单jQuery插件。该多级导航菜单在大屏幕中以正常的导航菜单形式出现,当屏幕尺寸小于某个设定的值时,导航菜单会收缩为下拉菜单列表,非常适合用于制作响应式网站的菜单。

插件中只提供了基本的CSS样式,菜单的样式可以通过CSS来完全自定义。

使用方法

首先要引入jQuery和responsive-menu.js文件,以及基本的菜单CSS样式文件responsive-menu.css。

<link href="css/responsive-menu.css" rel='stylesheet' type='text/css'/> 
<script src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/responsive-menu.js"></script>               
              
HTML结构

该响应式多级导航菜单的建议HTML结构如下:

<div class="rm-container">
    <a class="rm-toggle rm-button rm-nojs" href="#">Menu</a>
    <nav class="rm-nav rm-nojs rm-lighten">
        <ul>
          <li>menu-1</li>
          <li>menu-2</li>
          ...
        </ul>
    </nav>
</div>           
              
初始化插件

在页面加载完毕之后,可以使用下面的方法来初始化该响应式导航菜单插件。

jQuery(function ($) {
    var menu = $('.rm-nav').rMenu({

        // Optional Settings
        minWidth: '960px',

    });
});
              

配置参数

参数 默认值 描述
minWidth '769px' 最小宽度,与CSS文件中的 media query 匹配。如果不使用Modernizr,必须带像素单位
transitionSpeed 400 打开关闭菜单的速度,单位毫秒
jqueryEasing 'swing' jQurey easing函数,可选值有'swing', 'linear'
css3Easing 'ease' CSS3 easing动画
toggleBtnBool true 是否使用按钮作为链接,取代文字
toggleSel '.rm-toggle' 切换链接按钮的选择器
menuSel 'ul' 菜单和子菜单的选择器
menuItemsSel 'li' 菜单项的选择器
containerClass 'rm-container' nav元素的包裹容器的class名称
navElementClass 'rm-nav' nav元素的class名称
topMenuClass 'rm-top-menu 顶级菜单的class名称
parentClass 'rm-parent' 带有子菜单的父菜单的class名称
expandedClass 'rm-layout-expanded' 包裹容器元素用于触发菜单展开的class名称
contractedClass 'rm-layout-contracted' 包裹容器元素用于触发菜单收缩的class名称
animateClass 'rm-css-animate' 使用CSS3 animation/transitions的class名称
accelerateClass 'rm-accelerate' 强制GPU加速的class名称
developmentMode 使用开发模式 false

更多关于该响应式导航菜单的信息请参考:https://github.com/jbowyers/responsive-menu