2014-04-14 17 views
1

我想在2個不同的div上應用slimScroll函數。一次只有一個div被激活。 因此,我正在使用一個變量來獲取當前標籤名稱。當用戶點擊評論時,slimscroll將應用於#reviews,如果點擊了圖庫,它應該切換到圖庫。如何在變量上應用jquery函數?

的html代碼:

<ul class="nav nav-pills nav-justified"> 
    <li class="active"><a href="#reviews" data-toggle="tab">Reviews</a></li> 
    <li><a href="#gallery" data-toggle="tab">Gallery</a></li> 
</ul><!-- tabs --> 
<div class="tab-content"> 
    <div class="tab-pane active" id="reviews"> 
     reviews 
    </div> 
    <div class="tab-pane" id="gallery"> 
     gallery 
    </div> 
</div> 

jQuery代碼:

$(document).ready(function(){ 
    $('.nav-pills li a').on('click',function(){ 
     var current = ($(this).text()); 
     alert(current); 
    }); 
    $('article').slimScroll({ 
     position: 'right', 
     height: '370px', 
     railVisible: true, 
     alwaysVisible: true 
    }); 
}); 

回答

0

這樣做:

$(document).ready(function(){ 
    $('.nav-pills li a').on('click',function(){ 
     var current = $(this).attr("href").split('#')[1]; 
     $(this).closest('ul').find('li').removeClass('active'); 
     $(this).parent().addClass('active'); 
     //$('div.tab-pane').removeClass('active'); 
     //$('div#'+current).addClass('active'); 
     alert(current); 

     $('#'+current).slimScroll({ 
     position: 'right', 
     height: '370px', 
     railVisible: true, 
     alwaysVisible: true 
    }); 

或:

$(document).ready(function(){ 
     $('.nav-pills li a').on('click',function(){ 
      var current = $(this).attr("href").split('#')[1]; 
      $(this).closest('ul').find('div.tab-content').find('div.tab-pane').removeClass('active'); 
      $('div#'+current).addClass('active'); 
      alert(current); 

      $('#'+current).slimScroll({ 
      position: 'right', 
      height: '370px', 
      railVisible: true, 
      alwaysVisible: true 
     }); 
+0

好吧,第一個工作,但它同時顯示兩個部分,即在同一時間畫廊和評論。 – Orahmax

+0

你想隱藏其他div還是隻想應用slimscroll? –

+0

畫廊和評論是兩個選項卡。當審查是活動畫廊不應該在那裏,反之亦然。 – Orahmax

0
$('.nav-pills li a').on('click', function(e){ 
    e.preventDefault(); 

    $(this).parents('li').siblings().each(function() { 
     $(this).removeClass('active'); 
     $($(this).find('a').attr('href')).unbind('slimscroll'); 
    }); 

    $($(this).attr('href')).slimScroll({ 
     position: 'right', 
     height: '370px', 
     railVisible: true, 
     alwaysVisible: true 
    }); 
});