bootstrap选项卡使用方法解析


Posted in Javascript onJanuary 11, 2017

选项卡Tabs是Web中一种非常常用的功能。用户点击或悬浮对应的菜单项,能切换出对应的内容

Bootstrap框架中的选项卡主要有两部分内容组成:

选项卡组件(也就是菜单组件),对应的是 Bootstrap的 nav-tabs)
底部可以切换的选项卡面板,在 Bootstrap 中通常 tab-pane 来表示.

<!-- 选项卡组件(菜单项nav-tabs)-->
<ul id="myTab" class="nav nav-tabs" role="tablist">
 <li class="active"><a href="#bulletin" role="tab" data-toggle="tab">公告</a></li>
 <li><a href="#rule" role="tab" data-toggle="tab">规则</a></li>
 <li><a href="#forum" role="tab" data-toggle="tab">论坛</a></li>
 <li><a href="#security" role="tab" data-toggle="tab">安全</a></li>
 <li><a href="#welfare" role="tab" data-toggle="tab">公益</a></li>
</ul>

<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
 <div class="tab-pane active" id="bulletin">公告内容面板</div>
 <div class="tab-pane" id="rule">规则内容面板</div>
 <div class="tab-pane" id="forum">论坛内容面板</div>
 <div class="tab-pane" id="security">安全内容面板</div>
 <div class="tab-pane" id="welfare">公益内容面板</div>
</div>

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

选项卡?选项卡的结构

一个选项卡主要包括两个部分,其一是菜单项,其二是内容面板。
关键一点,选项卡中链接的锚点要与对应的面板内容容器的ID相匹配。

对于面板内容tab-pane都是隐藏的,只有当前面板内容才是显示的:

css源码:

.tab-content > .tab-pane {
 display: none;
}
.tab-content > .active {
 display: block;
}

选项卡?触发切换效果

选项卡也定义data属性来触发切换效果。当然前提你也要先加载bootstrap.js或者是tab.js。声明式触发选项卡需要满足以下几点要求:
1、选项卡导航链接中要设置 data-toggle=”tab”
2、并且设置 data-target=”对应内容面板的选择符(一般是ID)”;
如果是链接的话,还可以通过 href=”对应内容面板的选择符(一般是ID)”
主要起的作用是用户点击的时候能找到该选择符所对应的面板内容 tab-pane。

3、面板内容统一放在 tab-content 容器中,而且每个内容面板 tab-pane 都需要设置一个独立的选择符(最好是ID)与选项卡中的 data-target 或 href 的值匹配。

选项卡?为选择卡添加fade样式

为了让面板的隐藏与显示在切换的过程效果更流畅,可以在面板中添加类名 fade,让其产生渐入的效果。
在添加 fade 样式时,最初的默认显示的内容面板一定要记得加上 in 类名,不然其内容用户无法看到

<!-- 选项卡组件(菜单项nav-tabs)-->
<ul id="myTab" class="nav nav-tabs" role="tablist">
 <li class="active"><a href="#bulletin" role="tab" data-toggle="tab">公告</a></li>
 <li><a href="#rule" role="tab" data-toggle="tab">规则</a></li>
 <li><a href="#forum" role="tab" data-toggle="tab">论坛</a></li>
 <li><a href="#security" role="tab" data-toggle="tab">安全</a></li>
 <li><a href="#welfare" role="tab" data-toggle="tab">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
 <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
 <div class="tab-pane fade" id="rule">规则内容面板</div>
 <div class="tab-pane fade" id="forum">论坛内容面板</div>
 <div class="tab-pane fade" id="security">安全内容面板</div>
 <div class="tab-pane fade" id="welfare">公益内容面板</div>
</div>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

选项卡?胶囊式选项卡(nav-pills)

在Bootstrap除了可以让 nav-tabs 具有选项卡的切换功能之外,还可以对胶囊式 nav-pills 导航也具有选项卡的功能。我们只需要将 nav-tabs 换成 nav-pills,另外关键一点是将 data-toggle=”tab”换成data-toggle=”pill”。

<!-- 选项卡组件(菜单项nav-pills)-->
<ul id="myTab" class="nav nav-pills" role="tablist">
 <li class="active"><a href="#bulletin" role="tab" data-toggle="pill">公告</a></li>
 <li><a href="#rule" role="tab" data-toggle="pill">规则</a></li>
 <li><a href="#forum" role="tab" data-toggle="pill">论坛</a></li>
 <li><a href="#security" role="tab" data-toggle="pill">安全</a></li>
 <li><a href="#welfare" role="tab" data-toggle="pill">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
 <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
 <div class="tab-pane fade" id="rule">规则内容面板</div>
 <div class="tab-pane fade" id="forum">论坛内容面板</div>
 <div class="tab-pane fade" id="security">安全内容面板</div>
 <div class="tab-pane fade" id="welfare">公益内容面板</div>
</div>

选项卡?JavaScript触发方法

在每个链接的单击事件中调用tab(“show”)方法,显示对应的标签面板内容。针对上面的示例,删除HTML中自定义的 data-toggle=”tab” 或 data-toggle=”pill” 的属性,然后通过下面的脚本来调用:

$(function(){
 $("#myTab a").click(function(e){
 e.preventDefault();
 $(this).tab("show");
 });
})

实例 :
<!-- 选项卡组件(菜单项nav-tabs)-->
<ul id="myTab2" class="nav nav-tabs" role="tablist">
 <li><a href="#a" role="tab">娱乐</a></li>
 <li><a href="#b" role="tab">房产</a></li>
 <li><a href="#c" role="tab">国内</a></li>
 <li><a href="#d" role="tab">国外</a></li> 
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent2" class="tab-content">
 <div class="tab-pane fade in active" id="a">娱乐内容面板</div>
 <div class="tab-pane fade" id="b">房产内容面板</div>
 <div class="tab-pane fade" id="c">国内内容面板</div>
 <div class="tab-pane fade" id="d">国外内容面板</div> 
</div>

<script> 
 $(function(){
 $("#myTab2 a").click(function(e){
 e.preventDefault();
 $(this).tab("show");
 });
})
</script>

下文点击查看

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
js运动动画的八个知识点
Mar 12 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
Oct 14 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
Node.js利用console输出日志文件的方法示例
Apr 27 Javascript
vue.js中导出Excel表格的案例分析
Jun 11 Javascript
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
javascript前端和后台进行数据交互方法示例
Aug 07 Javascript
vue使用require.context实现动态注册路由
Dec 25 Vue.js
常用的javascript设计模式
Jan 11 #Javascript
WebView启动支付宝客户端支付失败的问题小结
Jan 11 #Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 #Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 #Javascript
jQuery实现CheckBox全选、全不选功能
Jan 11 #Javascript
理解javascript中的闭包
Jan 11 #Javascript
javascript常用经典算法详解
Jan 11 #Javascript
You might like
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
php中动态调用函数的方法
2015/03/16 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
python 字符串格式化代码
2013/03/17 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
python 日期排序的实例代码
2019/07/11 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
物业公司采购员岗位职责
2013/12/31 职场文书
出国考察邀请函
2014/01/21 职场文书
网络管理专业求职信
2014/03/15 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
教师专业自荐信
2014/05/31 职场文书
平面设计专业求职信
2014/08/09 职场文书
诚信承诺书
2015/01/19 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
如何通过一篇文章了解Python中的生成器
2022/04/02 Python