网站地图    收藏   

主页 > 前端 > javascript >

dwz navtab 限制打开数量实例

来源:自学PHP网    时间:2014-09-19 14:48 作者: 阅读:

[导读] 本文章给大家介绍一个dwz navtab 限制打开数量实例,希望此教程对各位同学会有所帮助...

修改 dwz/js/dwz.navTab.js


修改 openTab 方法


改为如下:

 代码如下 复制代码


  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);
  }

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论