2013-05-31 179 views
0

我做了兩個選項卡,並切換到另一個, Tab1我把3錨鏈接到Tab2文章。 我怎樣才能點擊tab1的鏈接,然後tab2打開並轉到錨點?如果有人可以幫我解決問題,請致電 。謝謝。jQuery選項卡切換和錨鏈接

jsfiddle online Sample

HTML

<div class="wrap"> 
    <a href="#tab1" class="active">Tab1</a> 
    <a href="#tab2">Tab2</a> 
    <div id="tab1"> 

     <a href="#anchor_a" >ANCHOR POINT A</a> 
     <a href="#anchor_b">ANCHOR POINT B</a> 
     <a href="#anchor_c">ANCHOR POINT C</a> 

    </div> 
    <div id="tab2"> 
     <div id="anchor_a"></div> 
       <div id="anchor_b"></div> 
       <div id="anchor_c"></div> 
     </div> 
</div> 

JS

$('.wrap > div').eq(1).hide(); 
    $('.wrap > a').click(function(){ 
     $(this).addClass('active').siblings().removeClass('active'); 
     $('.wrap > div').hide().filter(this.hash).show(); 
    }); 
+0

卡住了什麼?你知道'.wrap> a'只會選擇'.wrap'的直接子節點的鏈接,而不是'#tab1'中更下層的鏈接,是不是......? – CBroe

回答

0
<div class="wrap"> 
    <div id="tabs"> 
     <a href="#tab1" class="active">Tab1</a> 
     <a href="#tab2">Tab2</a> 
    </div> 

    <div class="tabs-data"> 
     <div id="tab1"> 
      <a href="#anchor_a" >ANCHOR POINT A</a> 
      <a href="#anchor_b">ANCHOR POINT B</a> 
      <a href="#anchor_c">ANCHOR POINT C</a> 
     </div> 
     <div id="tab2"> 
      <div id="anchor_a"></div> 
      <div id="anchor_b"></div> 
      <div id="anchor_c"></div> 
     </div> 
    </div> 
</div> 

JS:

$(document).on('click', '#tabs a', function(e){ 
    e.preventDefault(); 
    if ($(this).hasClass('active')){ 
     return false; 
    } else { 
     var wrap = $(this).parents('.wrap'); 
     $(this).parent().find('a').removeClass('active'); 
     $(this).addClass('active'); 
     wrap.find('.tabs-data > div').hide(); 
     wrap.find('.tabs-data ' + $(this).attr('href')).show(); 
    } 
}); 
+0

謝謝!我複製了代碼,但沒有工作 – olo