ace--4.tab

 是根据此文章总结而成,楼猪花了两天总结并指出一些错误http://www.cnblogs.com/landeanfen/p/7601880.html

 

1      基本结构

 

 

2      基本操作ifream

2.1  Index.jsp

<div class="page-content">
    <div class="row">
        <div class="col-xs-12" style="padding-left:5px;">
            <ul class="nav-my-tab">
                <li class="leftbackward"><a href="#" >
                    <i class="icon-backward"></i></a>
                </li>
                <li class="rightforward"><a href="#">
                    <i class="icon-forward"></i></a>
                </li>
               <li class="middletab">
                    <ul class="nav nav-tabs" role="tablist">
                        <li class="active"><a href="#Index" role="tab" data-toggle="tab">
                            <i class="icon-home"></i>系统首页</a>
                        </li>
                    </ul>
                </li>
            </ul>
            <div class="tab-content">
                <div role="tabpanel" class="tab-pane active" id="Index">
                    <img src="${path}/static/img/1.jpg">
                </div>
            </div>
        </div>
    </div>
</div>

2.2  bootstrap-tab.css

.nav-tabs{
    background: #fafafa;
    border-bottom: 3px #3498db solid;
    width:999999px;
}
 .nav-tabs li a{
    line-height:2;/*坑爹*/
    border:1px #ddd solid;
    margin-right: -1px;
    color: #999;
    border-radius: 0;
}
 .nav-tabs li a .glyphicon-remove-sign:hover{
    color:red;
    cursor: pointer;
}
 .nav-tabs li a i:first-child{
    margin-right: 3px;
}
 .nav-tabs .active a{
    border-top: solid 2px #3498db !important;
    background: #3498db !important;
    color:#fff !important;
}


.nav-my-tab{
    padding-left: 0px;
    margin-bottom: 0px;/*坑爹*/
    margin-left: 0px;/*坑爹*/
}
.nav-my-tab .middletab{
    height: 36px;
    overflow: hidden;
    border-bottom: 3px #3498db solid;
    position: relative;
    background: #fafafa;
}
.nav-my-tab li{
    list-style-type: none;
}
.nav-my-tab li a{
    padding:7px 10px;
}
.nav-my-tab .leftbackward{
    float: left;
    background: #fff;
    padding-top: 7px;
    border-top: 1px #ddd solid;
    height:36px;
    border-bottom: 3px #3498db solid;
}
.nav-my-tab .leftbackwarda{
    border-left-width: 0px;
    color: #999;
    padding-top: 9px;
    padding-bottom: 8px;
    margin-right: -1px;
}
.nav-my-tab .leftbackwarda:hover,.nav-my-tab .leftbackwarda:focus{
    text-decoration: none;
    background: #ddd;
}

.nav-my-tab .rightforward{
    float:right;
    position: relative;
    line-height: 2.6;
    background: #fff;
    border-top: 1px #ddd solid;
    border-bottom: 3px #3498db solid;

}
.nav-my-tab .rightforwarda{
    width: 35.5px;
    line-height: 2;
    color: #999;
    height: 35px;
    padding: 8px 10px;
    padding-left: 13px;
    border-left: 1px #ddd solid;
}
.nav-my-tab .rightforwarda:hover,.nav-my-tab .rightforwarda:focus{
    text-decoration: none;
    background: #ddd;
} 

2.3  bootstrap-tab.js

var changeFrameHeight = function (that) {
    $(that).height(document.documentElement.clientHeight - 115);
    $(that).parent(".tab-pane").height(document.documentElement.clientHeight - 130);
}
var addTabs = function (options) {
    //可以在此处验证session
    //var rand =Math.random().toString();
    //var id =rand.substring(rand.indexOf('.') + 1);
    // var url = window.location.protocol+ '//' + window.location.host + "/yjxt/";//获得项目绝对路径basepath
    // options.url = url + options.url;
    options.url = bashPath +"/"+ options.url;
    var id = "tab_" + options.id;
    var active_flag= false;
    if($("#"+ id)){
        active_flag = $("#" + id).hasClass('active');
    }
    $(".active").removeClass("active");
    //如果TAB不存在,创建一个新的TAB
    if (!$("#" + id)[0]) {
        //固定TAB中IFRAME高度
        mainHeight = $(document.body).height();
        //创建新TAB的title
        title = '<lirole="presentation" id="tab_' + id + '"><a href="#' + id + '" aria-controls="' + id + '" role="tab"data-toggle="tab"><i class="'+options.icon+'"></i>' + options.title;
        //是否允许关闭
        if (options.close) {
            title += '<i class="glyphiconglyphicon-remove-sign" tabclose="' + id + '"></i>';
        }
        title += '</a></li>';
        //是否指定TAB内容
        if (options.content) {
            content = '<divrole="tabpanel" class="tab-pane" id="' + id + '">' + options.content + '</div>';
        } else {//没有内容,使用IFRAME打开链接
            content = '<divrole="tabpanel" class="tab-pane" id="' + id + '"><iframe id="iframe_'+id+'" src="' + options.url +
                '" width="100%"height="100%" οnlοad="changeFrameHeight(this)" frameborder="no" border="0"marginwidth="0" marginheight="0" scrolling="yes"allowtransparency="yes"></iframe></div>';
        }
        //加入TABS
        $(".nav-tabs").append(title);
        $(".tab-content").append(content);

    }else{
        if(active_flag){
            $("#iframe_" + id).attr('src', $("#iframe_" + id).attr('src'));
        }
    }

    //激活TAB
    $("#tab_"+ id).addClass('active');
    $("#" + id).addClass("active");

    //激活左边菜单
    $('#menuli').removeClass('active');
    $('#li_'+options.id).addClass('active');

    //判断如果超过10个,则左移
    var lis = $(".nav-tabsli");
    if(lis.length > 10) {
        $(".nav-my-tab .middletab .nav-tabs").animate({left: (-100 * (lis.length - 10)) +'px'});
    }

};

var closeTab = function (id) {
    //如果关闭的是当前激活的TAB,激活他的前一个TAB
    if ($(".nav-my-tab .middletab li.active").attr('id') == "tab_"+ id) {
        $("#tab_" + id).prev().addClass('active');
        $("#" + id).prev().addClass('active');
    }
    //关闭TAB
    $("#tab_"+ id).remove();
    $("#" + id).remove();
};
$(function() {
    var mainHeight= $(document.body).height() - 45;
    $('.main-left,.main-right').height(mainHeight);
    //点击菜单触发
    $("[addtabs]").click(function () {
        addTabs({ id: $(this).attr("id"), title: $(this).attr('title'), close: true });
    });

    $(".nav-tabs").on("click", "[tabclose]", function (e) {
        var id = $(this).attr("tabclose");
        closeTab(id);
    });

    window.onresize = function() {
        var target= $(".tab-content .active iframe");
        changeFrameHeight(target);
    }

});
$(function() {
    //tab页向左向右移动
    $('.nav-my-tab.leftbackward').click(function(){
        var strLeft=$('.nav-my-tab .middletab .nav-tabs').css('left');
        var iLeft= parseInt(strLeft.replace('px', ''));
        if(iLeft>=0){
            return;
        }
        else{
            // debugger;
            var totalWidth=0;
            var lis = $(".nav-tabs li");
            for(var i=0;i<lis.length;i++){
                var item = lis[i];
                totalWidth-= $(item).width();
                if(iLeft>totalWidth){
                    iLeft+=$(item).width();
                    break;
                }
            };
            if(iLeft>0){
                iLeft=0;
            }
            $(".nav-my-tab .middletab .nav-tabs").animate({left:iLeft+ 'px'});
        }
    });
    $('.nav-my-tab .rightforward').click(function(){
        var strLeft=$('.nav-my-tab .middletab .nav-tabs').css('left');
        var iLeft= parseInt(strLeft.replace('px', ''));
        var totalWidth=0;
        $.each($(".nav-tabs li"),function(key, item){
            totalWidth+= $(item).width();
        });
        var tabsWidth= $(".nav-my-tab .middletab").width();
        if(totalWidth>tabsWidth){
            // debugger;
            if(totalWidth-tabsWidth<=Math.abs(iLeft)){
                return;
            }
            var lis = $(".nav-tabs li");
            totalWidth=0;
            for(var i=0;i<lis.length;i++){
                var item = lis[i];
                totalWidth-= $(item).width();
                if(iLeft>totalWidth){
                    iLeft-=$(item).width();
                    break;
                }
            };
            $(".nav-my-tab .middletab .nav-tabs").animate({left:iLeft+ 'px'});
        }

    });
});


 

 http://download.csdn.net/download/qq_26553781/10226387

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值