2012-06-25 26 views
0

我想禁用顶部菜单jquery滑动标签。我希望制表符只能使用前一个/下一个操作。请参阅我的Live DemoJquery Sliding Tabs - 如何禁用顶级菜单?

的Jquery:

<script> 
$(document).ready(function() { 
    // Horizontal Sliding Tabs demo 
    $('div#st_horizontal').slideTabs({ 
     // Options    
     contentAnim: 'slideH', 
     contentAnimTime: 600, 
     contentEasing: 'easeInOutExpo', 
     tabsAnimTime: 300 
    }); 

    $(".st_tab_view").each(function(i) { 
     var totalSize = $(".st_tab_view").size() - 1; 
     if (i != totalSize) { 
      next = i + 2; 
      $(this).append("<a href='#' class='next-tab mover' rel='" + next + "'>Next Page &#187;</a>"); 
     } 
     if (i !== 0) { 
      prev = i; 
      $(this).append("<a href='#' class='prev-tab mover' rel='" + prev + "'>&#171; Prev Page</a>"); 
     } 
    }); 

    $('.prev-tab').click(function() { 
     $('.st_tab_active').parent().prev().children('a').trigger('click'); 
     return false; 
    }); 

    $('.next-tab').click(function() { 
     $('.st_tab_active').parent().next().children('a').trigger('click'); 
     return false; 
    }); 


});​ 
</script> 

回答

1

  • 水平标签#
  • 修改您的jQuery像 -

    $( '上一个标签。 ')点击(函数(){ $()ATTR。' st_tab_active。'。 ('disabled','disabled'); var tab = $('。st_tab_active')。parent()。prev()。children('a'); tab.removeAttr('disabled'); tab。 ('click'); // tab.attr('disabled','disabled'); return false; });

    $('.next-tab').click(function() { 
        $('.st_tab_active').attr('disabled','disabled'); 
        var tab= $('.st_tab_active').parent().next().children('a'); 
        tab.removeAttr('disabled'); 
        tab.trigger('click'); 
        //tab.attr('disabled','disabled'); 
        return false; 
    }); 
    

    +0

    +1为您的答案。这就是我想要禁用顶层菜单的原因。但在[JSFIDDLE](http://jsfiddle.net/PS336/65/)中,此方法不起作用。看看[的jsfiddle(http://jsfiddle.net/PS336/65/) – CodingWonders90

    +0

    添加禁用属性为每个href的 “

  • Horizontal Tab #1
  • ” –

    +0

    我已经修改了jQuery显示选定的选项卡,看到修改后的答案。试试这个... –

    1

    更改下面的CSS:

    div.st_horizontal div.st_tabs_container { /* Tabs main container */   
        position:relative; 
        /* This will hide it all together */ 
        display:none; 
        z-index:100;  
        /* Or change with and heights */  
        width:0% !important;  
        height:0px; 
        margin-bottom:-1px;  
        overflow:hidden; 
    } 
    

    或者,你可以在网页上添加更多的CSS(添加了jQuery UI的CSS,其中后),以节省覆盖默认CSS:

    div.st_horizontal div.st_tabs_container { 
        /* This will hide it all together */ 
        display:none; 
        /* Or change with and heights */  
        width:0% !important;  
        height:0px; 
    } 
    

    否则,我建议写你自己的控制。

    这两个节点都可以潜入jQuery代码!

    +0

    +1,我喜欢你的方法。有没有办法显示选定的选项卡,但保持其他人隐藏。 – CodingWonders90

    +0

    div.st_horizo​​ntal ul.st_tabs li a { display:none; } div.st_horizo​​ntal ul.st_tabs li a.st_tab_active {display:block; } 给底部添加其他例外(例如对于next/prev按钮) – jaypeagi