基于Bootstrap以多标签页加载页面的Tabs插件

bTabs是一款以多标签页加载页面的jquery Tabs插件。bTabs可以方便的和bootstrap2和bootstrap3集成使用,通过简单配置即可让页面变为Ext、EasyUI之类多标签页模式,丰富业务展示模式。

bTabs插件的特点有:

  • 支持Bootstrap2、3的UI环境。
  • 以多标签页载入页面的功能插件,可让Bootstrap的UI界面变成类似EXT,EasyUI之类的操作模式。
  • 多标签页之类都拥有独立的上下文,不会互相干扰。
  • 标签之间通过拖拽快速排列顺序。
  • 快速使用皮肤。在需要使用不同样式的皮肤时,只需要定义好皮肤的样式内容,插件可在初始化时,设置指定的皮肤名称
  • 严格遵守Bootstrap Tabs的HTML代码结构,可自动适应所有基于Bootstrap的皮肤样式。
  • 支持IE8+,chrome,firefox等主流浏览器。

bTabs插件的主要使用场景有:

  • 需要将页面操作模式改造成使用标签页来载入页面的场景,例如后端管理平台的基础UI框架。
  • 数据内容较多,不同分类数据需要以多个标签页来展示,而这些分类的内容都有独立页面的场景,例如人员详细信息,车辆详细信息等。

使用方法

在页面中引入bootstrap相关文件,以及b.tabs.css和b.tabs.js文件。

<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="b.tabs.css" type="text/css">
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<!-- 插件核心脚本 -->
<script type="text/javascript" src="b.tabs.js" >< /script>
                
HTML结构

使用bTabs插件的基本HTML结构如下:

<!-- 菜单导航,非必须,具体使用时更换为具体的管件 -->
<div class="span2">
    <div class="well menuSideBar" style="padding: 8px 0px;">
        <ul class="nav nav-list" id="menuSideBar">
            <li class="nav-header">导航菜单</li>
            <li class="divider"></li>
            <li mid="tab1" funurl="${webroot}demo/manage/tabsPage1"><a tabindex="-1" href="javascript:void(0);">页面1</a></li>
            <li mid="tab2" funurl="${webroot}demo/manage/tabsPage2"><a tabindex="-1" href="javascript:void(0);">页面2</a></li>
            <li mid="tab3" funurl="${webroot}demo/manage/tabsPage3"><a tabindex="-1" href="javascript:void(0);">页面3</a></li>
        </ul>
    </div>
</div>
<!-- 标签页区域 -->
<div class="span10" id="mainFrameTabs">
 
    <!-- Nav tabs -->
    <ul class="nav nav-tabs" role="tablist">
        <!-- 设置默认的首页标签页,设置noclose样式,则不会被关闭 -->
        <li role="presentation" class="active noclose"><a href="#bTabs_navTabsMainPage" data-toggle="tab">首页</a></li>
    </ul>
     
    <!-- Tab panes -->
    <div class="tab-content">
        <!-- 默认标签页(首页)的内容区域 -->
        <div class="tab-pane active" id="bTabs_navTabsMainPage">
            <div class="page-header">
                <h2 style="font-size: 31.5px;text-align: center;font-weight: normal;">欢迎使用</h2>
            </div>
            <div style="text-align: center;font-size: 20px;line-height: 20px;">
            Welcome to use bTabs plugin!
            </div>
        </div>
    </div>
 
</div>          
                
初始化插件

使用bTabs插件的Javascript初始化插件代码如下:

//导航区域项目点击增加标签页处理
//仅演示功能
$('a',$('#menuSideBar')).on('click', function(e) {
    e.stopPropagation();
    var li = $(this).closest('li');
    var menuId = $(li).attr('mid');
    var url = $(li).attr('funurl');
    var title = $(this).text();
    //校验登录是否超时,通常使用ajax访问服务端测试登录是否超时
    //若页面端已有超时自动跳转的处理,则不需要设置该回调
    var checkLogin = function(){
        ....
    };
    $('#mainFrameTabs').bTabsAdd(menuId,title,url,checkLogin);
});
 
//插件的初始化
$('#mainFrameTabs').bTabs({
    //登录界面URL,用于登录超时后的跳转
    'loginUrl' : 'http://xxx.com/login',
    //用于初始化主框架的宽度高度等,另外会在窗口尺寸发生改变的时候,也自动进行调整
    'resize' : function(){
        //这里只是个样例,具体的情况需要计算
        $('#mainFrameTabs').height(100);
    }
});           
                

关于bTabs插件的更多使用方法请参考:

bTabs插件主页:https://terryz.github.io/btabs/index.html

bTabs插件文档:https://terryz.github.io/btabs/docs.html

在线预览    源码下载

爱编程-编程爱好者经验分享平台
版权所有 爱编程 © Copyright 2012. All Rights Reserved.
闽ICP备12017094号-3