zoukankan      html  css  js  c++  java
  • dwz navtab 限制打开数量实例

    本文章给大家介绍一个dwz navtab 限制打开数量实例,希望此教程对各位同学会有所帮助
    openTab: function(tabid, url, options){ //if found tabid replace tab, else create a new tab.
        var op = $.extend({title:"New Tab", data:{}, fresh:true, external:false}, options);
        //这里判定如果未加载该 navtab 并且超出最大允许的navtab数量
        if( navTab._getTabs().length > 4 )
        {
          //如果未加载过,或者已在main里面显示的
          if( navTab._indexTabId(tabid) < 0 )
          {
            navTab._getTabs().eq(0).attr('true_tabid',tabid);
            tabid = 'main';
          }
        }
        else
        {
          var real_tabid = navTab._getTabs().eq(0).attr('true_tabid');
          if( real_tabid && real_tabid == tabid )
          {
            tabid = 'main';
          }
        }
        var iOpenIndex = this._indexTabId(tabid);
    
        if (iOpenIndex >= 0){
          var $tab = this._getTabs().eq(iOpenIndex);
          var span$ = $tab.attr("tabid") == this._op.mainTabId ? "> span > span" : "> span";
          $tab.find(">a").attr("title", op.title).find(span$).text(op.title);
          var $panel = this._getPanels().eq(iOpenIndex);
          if(op.fresh || $tab.attr("url") != url) {
            $tab.attr("url", url);
            if (op.external || url.isExternalUrl()) {
              $tab.addClass("external");
              navTab.openExternal(url, $panel);
            } else {
              $tab.removeClass("external");
              $panel.ajaxUrl({
                type:"GET", url:url, data:op.data, callback:function(){
                  navTab._loadUrlCallback($panel);
                }
              });
            }
          }
          this._currentIndex = iOpenIndex;
        } else {
          var tabFrag = '<li tabid="#tabid#"><a xhref="javascript:" title="#title#" class="#tabid#"><span>#title#</span></a><a xhref="javascript:;" class="close">close</a></li>';
          this._tabBox.append(tabFrag.replaceAll("#tabid#", tabid).replaceAll("#title#", op.title));
          this._panelBox.append('<div class="page unitBox"></div>');
          this._moreBox.append('<li><a xhref="javascript:" title="#title#">#title#</a></li>'.replaceAll("#title#", op.title));
          
          var $tabs = this._getTabs();
          var $tab = $tabs.filter(":last");
          var $panel = this._getPanels().filter(":last");
          
          if (op.external || url.isExternalUrl()) {
            $tab.addClass("external");
            navTab.openExternal(url, $panel);
          } else {
            $tab.removeClass("external");
            $panel.ajaxUrl({
              type:"GET", url:url, data:op.data, callback:function(){
                navTab._loadUrlCallback($panel);
              }
            });
          }
          
          if ($.History) {
            setTimeout(function(){
              $.History.addHistory(tabid, function(tabid){
                var i = navTab._indexTabId(tabid);
                if (i >= 0) navTab._switchTab(i);
              }, tabid);
            }, 10);
          }
            
          this._currentIndex = $tabs.size() - 1;
          this._contextmenu($tabs.filter(":last").hoverClass("hover"));
        }
        
        this._init();
        this._scrollCurrent();
        
        this._getTabs().eq(this._currentIndex).attr("url", url);
      }

    修改 dwz/js/dwz.navTab.js

    修改 openTab 方法

    改为如下:

  • 相关阅读:
    记一次逻辑代码的实现(数组内数据按照指定时间差进行分组)
    spark算子之Aggregate
    java.lang.SecurityException: class "javax.servlet.ServletRegistration"'s signer information does not match signer information of other classes in the same package
    Hive SQL之分区表与分桶表
    hive之基本架构
    数据结构-链表(2)
    jQuery 如何实现 模糊搜索
    常见的网站服务器架构
    window.location.href跳转无效
    js读取本地图片并显示
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4312823.html
Copyright © 2011-2022 走看看