2013-05-31 139 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