原文地址:JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)css
前言:最近园子里多了许多谈语言、谈环境、谈逼格(格局)的文章,看看笑笑事后,却不知其实都是然并卵。提高本身的技术才是王道。以前博主分享过多篇bootstrap组件的文章,引发了不少园友的关注和支持,看样子这种风格仍是受到不少园友青睐的。本着不辜负园友们的支持的原则,应群友们的要求,今天来分享下项目中使用Ace模板的菜单样式和基于iframe的Tab页效果。html
Ace模板地址:http://code.google.com/p/ace-engine/wiki/AceTemplate(有时会打不开)jquery
Ace英文官网:http://wrapbootstrap.com/preview/WB0B30DGRbootstrap
Ace模板功能介绍地址:http://www.cnblogs.com/txw1958/p/Ace-Responsive-Admin-Template.htmlapi
折腾了很久,终于将菜单样式和Tab页的效果从项目中抽出来了,园友们且看且珍惜哈~~ide
有现成的东西用起来就是爽,总的来讲Bootstrap Ace模板的功能仍是比较强大的,而且支持各类终端设备。本文主要使用的它的菜单的效果,下面就来看看Ace模板菜单效果的实现代码。google
因为Ace是基于Bootstrap的,因此首先须要引用jquery和bootstrap组件,先来总的看看它须要引用哪些文件吧。url
<script src="/Scripts/jquery-1.9.1.min.js"></script> <script src="/Content/bootstrap/js/bootstrap.min.js"></script> <link href="/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <link href="/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> <link href="/Content/ace/css/ace-rtl.min.css" rel="stylesheet" /> <link href="/Content/ace/css/ace-skins.min.css" rel="stylesheet" /> <link href="/Content/sidebar-menu/sidebar-menu.css" rel="stylesheet"/> <script src="/Content/ace/js/ace-extra.min.js"></script> <script src="/Content/ace/js/ace.min.js"></script>
<script src="/Content/sidebar-menu/sidebar-menu.js"></script>
呵呵,看着仍是挺多的吧。除了最后一个js文件(<script src="/Content/sidebar-menu/sidebar-menu.js"></script>)是博主本身封装的,其余基本都是些组件须要的特性组件。看看页面上面要放哪些html标签:spa
<div class="sidebar" id="sidebar"> <ul class="nav nav-list" id="menu"></ul> <div class="sidebar-collapse" id="sidebar-collapse"> <i class="icon-double-angle-left" data-icon1="icon-double-angle-left" data-icon2="icon-double-angle-right"></i> </div> </div>
再来看看sidebar-menu.js这个文件里面封装的方法:code
sidebar-menu组件封装
在页面上面直接调用sidebar-menu的方法
这里须要说明的很重要的一点就是关于菜单前面的小图标,icon属性对应的是http://v3.bootcss.com/components/页面里面的图标的样式:
con的值为icon-user的时候,菜单上面就会显示一个如图的小图标。固然通常状况下,菜单确定是动态加载的的,若是须要从后台取数据,能够直接调用此方法:
$('#menu').sidebarMenu({ url: "/api/Api/GetMenuByUser/", param: { strUser: 'admin' } });
便可,呵呵,很简单吧。
Tab页的效果实际上是和左边菜单息息相关的,首先仍是看看Tab页效果的js引用。
<script src="/Scripts/bootstrap-tab.js"></script>
页面的html标签:
<div class="main-content"><div class="page-content"> <div class="row"> <div class="col-xs-12" style="padding-left:5px;"> <ul class="nav nav-tabs" role="tablist"> <li class="active"><a href="#Index" role="tab" data-toggle="tab">首页</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="Index"> </div> </div> </div> </div> </div> </div>
bootstrap-tab.js这个文件里面封装了addTabs方法
bootstrap-tab.js
那么,在何时调用Addtabs方法呢?答案是注册菜单click事件的时候,这部分代码在前面sidebar-menu组件封装的时候就有,能够看看上面。
以上就是bootstrap ace模板的菜单和Tab页效果的展现,总的来讲,基本的功能具有了,但菜单的样式还有待调整,好比点击某个菜单以后,点击的菜单须要给一个选中的状态。若是你的项目也是用的bootstrap风格,研究下ace模板,可使用起来试试。
PS:关于ace模板收费的问题许多园友在评论中提到了,博主补充说明几点:
一、ace模板确实是收费的,官网上面写的很清楚:$18。这个毋庸置疑。
二、本文只使用了ace的一个菜单功能,而且引用的文件都是从网上找来的,因此对于本文的效果并不存在收费一说。