easyui扩展tabs
easyui扩展tabs
沉默的懒猫 发表于1年前
easyui扩展tabs
  • 发表于 1年前
  • 阅读 23
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 实现select和exists两个接口按照ID检索判断功能
(function () {
   $.extend($.fn.tabs.methods, {
        getTabById: function(jq,id) {
            var tabs = $.data(jq[0], 'tabs').tabs;
            for(var i=0; i<tabs.length; i++){
                var tab = tabs[i];
                if (tab.panel('options').id == id){
                    return tab;
                }
            }
            return null;
        },
        selectById:function(jq,id) {
            return jq.each(function() {
                var state = $.data(this, 'tabs');
                var opts = state.options;
                var tabs = state.tabs;
                var selectHis = state.selectHis;
                if (tabs.length == 0) {return;}
                var panel = $(this).tabs('getTabById',id); // get the panel to be activated 
                if (!panel){return}
                var selected = $(this).tabs('getSelected');
                if (selected){
                    if (panel[0] == selected[0]){return}
                    $(this).tabs('unselect',$(this).tabs('getTabIndex',selected));
                    if (!selected.panel('options').closed){return}
                }
                panel.panel('open');
                var title = panel.panel('options').title;        // the panel title 
                selectHis.push(title);        // push select history 
                var tab = panel.panel('options').tab;        // get the tab object 
                tab.addClass('tabs-selected');
                // scroll the tab to center position if required. 
                var wrap = $(this).find('>div.tabs-header>div.tabs-wrap');
                var left = tab.position().left;
                var right = left + tab.outerWidth();
                if (left < 0 || right > wrap.width()){
                    var deltaX = left - (wrap.width()-tab.width()) / 2;
                    $(this).tabs('scrollBy', deltaX);
                } else {
                    $(this).tabs('scrollBy', 0);
                }
                $(this).tabs('resize');
                opts.onSelect.call(this, title, $(this).tabs('getTabIndex',panel));
            });
        },
        existsById:function(jq,id){
            return $(jq[0]).tabs('getTabById',id) != null;
        }
    });
})(jQuery);

判断

var isOpen = $('#tabs').tabs('existsById', node.id);
		if (isOpen) {
			$('#tabs').tabs('selectById', node.id);
			var tab = $('#tabs').tabs('getTabById', node.id);
			tab.panel('refresh');
			return;
		}

 

标签: easyui
共有 人打赏支持
粉丝 8
博文 89
码字总数 32338
×
沉默的懒猫
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: