Bootstrap多级导航栏(级联导航)的实现代码


Posted in Javascript onMarch 08, 2016

在bootstrap官方来说,导航最多就是两级,两级以上是无法实现的,大叔找了一些第三方的资料,终于找到一个不错的插件,使用上和效果上都还不错,现在和大家分享一下

插件地址:http://vsn4ik.github.io/bootstrap-submenu/

先看一下,在后台系统上的显示效果

Bootstrap多级导航栏(级联导航)的实现代码

下面说一下实现的方式

1.引用三个JS插件和一个CSS类库

<script src="~/Content/bootstraps/JS/bootstrap-submenu.js"></script>
<script src="~/Content/bootstraps/JS/highlight.min.js"></script>
<script src="~/Content/bootstraps/JS/docs.js"></script>
<link href="~/Content/bootstraps/CSS/bootstrap-submenu.css" rel="stylesheet" />

2.插入对应的HTML代码块,本例子没有使用递归生成代码,使用了静态的三级结构,这样看着更清晰,真正的生产环境建议使用递归去生产菜单

<ul class="nav nav-pills">
@foreach (var item in Model)
{
if (item.Sons != null && item.Sons.Count > 0)
{
<li class="dropdown">
<a data-submenu="" data-toggle="dropdown" tabindex="0">@item.MenuName<span class="caret"></span></a>
<ul class="dropdown-menu">
@foreach (var sub in item.Sons)
{
if (sub.Sons != null && item.Sons.Count > 0)
{
<li class="dropdown-submenu">
<a tabindex="0">@sub.MenuName</a>
<ul class="dropdown-menu">
@foreach (var inner in sub.Sons)
{
<li>
<a href="@inner.LinkUrl">@inner.MenuName</a>
</li>
}
</ul>
</li>
<li class="divider"></li>
}
else
{
<li><a href="@sub.LinkUrl">@sub.MenuName</a></li>
}
}
</ul>
</li>
}
else
{
<li><a href="@item.LinkUrl">@item.MenuName</a></li>
}
}
</ul>

最后的效果就是第一个图了,值得注意的是,如果希望每个菜单之间使用分割线,可以添加 <li class="divider"></li>这行代码。

下面给大家推荐一段代码有关Bootstrap多级级联菜单

<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a href="#" class="brand">Project name</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active">
<a href="#">Home</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
Dropdown
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#">More options</a>
<ul class="dropdown-menu">
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li class="dropdown-submenu">
<a href="#">Second level link</a>
<ul class="dropdown-menu">
<li>
<a href="#">3333333333</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li>
<a href="#">Separated link</a>
</li>
<li>
<a href="#">One more separated link</a>
</li>
</ul>
</li>
</ul>
<form action="" class="navbar-search pull-left">
<input type="text" placeholder="Search" class="search-query span2">
</form>
<ul class="nav pull-right">
<li>
<a href="#">Link</a>
</li>
<li class="divider-vertical"></li>
<li class="dropdown">
<a class="#" href="#">Menu</a>
</li>
</ul>
</div><!-- /.nav-collapse -->
</div>
</div>
</div>
<hr />
<ul class="nav nav-pills">
<li class="active">
<a href="#">Regular link</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">
Dropdown
<b class="caret"></b>
</a>
<ul class="dropdown-menu" id="menu1">
<li class="dropdown-submenu">
<a href="#">More options</a>
<ul class="dropdown-menu">
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
<li>
<a href="#">Second level link</a>
</li>
</ul>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li>
<a href="#">Separated link</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#">Menu</a>
</li>
<li class="dropdown">
<a href="#">Menu</a>
</li>
</ul>

以上所述是小编给大家介绍的Bootstrap多级导航栏(级联导航)的实现代码,希望对大家有所帮助!

Javascript 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
表单元素事件 (Form Element Events)
Jul 17 Javascript
js隐式全局变量造成的bug示例代码
Apr 22 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
js+html5实现canvas绘制简单矩形的方法
Jun 05 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
JS判断时间段的实现代码
Jun 14 Javascript
Vuex 入门教程
Jan 10 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
javascript html实现网页版日历代码
Mar 08 #Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 #Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 #Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 #Javascript
javascript对象的创建和访问
Mar 08 #Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 #Javascript
使用JQuery实现智能表单验证功能
Mar 08 #Javascript
You might like
PHP防注入安全代码
2008/04/09 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
学习python (2)
2006/10/31 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
django admin 添加自定义链接方式
2020/03/11 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
旷课检讨书3000字
2014/02/04 职场文书
绿色环保标语
2014/06/12 职场文书
信用卡工资证明范本
2014/10/17 职场文书
武夷山导游词
2015/02/03 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
水浒传读书笔记
2015/06/25 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
销售会议开幕词
2016/03/04 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js