1. 程式人生 > >easyui頁面中tabs選項卡右擊實現選擇關閉全部,其他,左側,右側標籤功能

easyui頁面中tabs選項卡右擊實現選擇關閉全部,其他,左側,右側標籤功能

效果圖:

程式碼:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>智銷系統</title>
    <%@ include file="/WEB-INF/views/head.jsp"%>   <%-- 這個是我抽取到外面的公共css,js外掛 --%>
    <script>
        $(function(){
            //顯示選項卡
            $("#menuTree").tree({
                url:"/json/menu.json",
                onClick: function(node){
                    if(node.url){
                        var nodeName = node.text;
                        //判斷這個選項卡是否已經存在,存在就選中,不存在重新開啟
                        var tab = $("#mainTabs").tabs("getTab",nodeName);
                        if(tab){
                            $("#mainTabs").tabs("select",nodeName);
                        }else{
                            //iframe:在一個頁面中嵌入另一個頁面(單獨的)
                            var content = '<iframe scrolling="auto" frameborder="0"  src="'+node.url+'" style="width:100%;height:100%;"></iframe>';
                            $("#mainTabs").tabs('add',{
                                title:nodeName,
                                content:content,
                                closable:true
                            });
                        }
                    }
                }
            });
//====================================================================================

            //tab右鍵觸發時候所觸發的函式
            $("#mainTabs").tabs({
                onContextMenu:function(e, title) {
                    //在每個選單選項中新增title值
                    var $divMenu = $("#tab_rightmenu div[id]");
                    $divMenu.each(function() {
                        $(this).attr("id", title);
                    });
                    //顯示menu選單
                    $('#tab_rightmenu').menu('show', {
                        left: e.pageX,
                        top: e.pageY
                    });
                    e.preventDefault();
                }
            });
            //例項化menu點選觸發事件
            $('#tab_rightmenu').menu({
                "onClick":function(item) {
                    closeTab(item.id,item.text);
                }
            });
        })

        //關閉選項卡功能    注意:還需要上面的 .tabs和.menu右擊觸發事件顯示選單功能哦
        function closeTab(title, text) {
            if(text == '關閉全部標籤') {
                $(".tabs li").each(function(index, obj) {
                    //獲取所有可關閉的選項卡
                    var tabTitle = $(".tabs-closable", this).text();
                    $("#mainTabs").tabs("close", tabTitle);
                });
            }
            if(text == '關閉其他標籤') {
                $(".tabs li").each(function(index, obj) {
                    //獲取所有可關閉的選項卡
                    var tabTitle = $(".tabs-closable", this).text();
                    if(tabTitle != title) {
                        $("#mainTabs").tabs("close", tabTitle);
                    }
                });
            }
            if(text == '關閉右側標籤') {
                var $tabs = $(".tabs li");
                for(var i = $tabs.length - 1; i >= 0; i--) {
                    //獲取所有可關閉的選項卡
                    var tabTitle = $(".tabs-closable", $tabs[i]).text();
                    if(tabTitle != title) {
                        $("#mainTabs").tabs("close", tabTitle);
                    } else {
                        break;
                    }
                }
            }
            if(text == '關閉左側標籤') {
                var $tabs = $(".tabs li");
                for(var i = 0; i < $tabs.length; i++) {
                    //獲取所有可關閉的選項卡
                    var tabTitle = $(".tabs-closable", $tabs[i]).text();
                    if(tabTitle != title) {
                        $("#mainTabs").tabs("close", tabTitle);
                    } else {
                        break;
                    }
                }
            }
        }
    </script>
</head>
<body class="easyui-layout">
    <div data-options="region:'north'" style="height:60px;">
        <h3>xx智銷系統</h3>
    </div>
    <div data-options="region:'west',title:'選單',split:true" style="width:200px;">
        <ul id="menuTree"></ul>
    </div>
    <div id="mainTabs" class="easyui-tabs" data-options="region:'center'<%--,onContextMenu:showTabMenu--%>">
        <div title="主頁面">
            xxx
        </div>
    </div>
<%--===========================================================================--%>
    <!--關閉tab選項的隱藏div選單-->
    <div id="tab_rightmenu" class="easyui-menu" style="width:135px; display:none">
        <div name="tab_menu-tabcloseall" id="closeAll" data-options="iconCls:'icon-cancel'">關閉全部標籤</div>
        <div name="tab_menu-tabcloseother" id="closeOthor" data-options="iconCls:'icon-clear'">關閉其他標籤</div>
        <div class="menu-sep"></div>
        <div name="tab_menu-tabcloseright" id="closeRight" data-options="iconCls:'icon-redo'">關閉右側標籤</div>
        <div name="tab_menu-tabcloseleft" id="closeLeft" data-options="iconCls:'icon-undo'">關閉左側標籤</div>
    </div>
</body>
</html>