2014-01-31 13 views
0

我有一个问题,加载特定的选项卡时,从不同的链接去作为活动。任何人都可以帮助我简化引导选项卡窗格的jQuery代码

我找到了解决方案,但是这样做,我必须为所有不同的选项卡编写代码。任何人都可以帮助我简化代码。

<table class="nav nav-tabs"> 
<tr> 
    <td><a href="#home" data-toggle="tab" class="active">Home</a></td> 
    <td><a href="#profile" class="profile-link" data-toggle="tab">Profile</a></td> 
    <td><a href="#messages" class="next-link" data-toggle="tab">Messages</a></td> 
    </tr> 
</table> 
<div class="tab-content"> 
    <div class="tab-pane active" id="home">Home Content</div> 
    <div class="tab-pane" id="profile">Profile Content</div> 
    <div class="tab-pane" id="messages">Messages Content</div> 
</div> 
</div> 

<a href="#profile" data-toggle="tab" data-toggle-tab=".profile-link" class="outside-link">Profile Link From Outside</a> 
<a href="#messages" data-toggle="tab" data-toggle-tab=".next-link" class="next-link">next</a> 

<script> 
$(".outside-link").click(function() { 
    $(".nav-tabs tr td a").removeClass("active"); 
    $($(this).attr("data-toggle-tab")).parent("td").find("a").addClass("active"); 
}); 

$(".next-link").click(function() { 
    $(".nav-tabs tr td a").removeClass("active"); 
    $($(this).attr("data-toggle-tab")).parent("td").find("a").addClass("active"); 
}); 
</script> 
+0

应该http://codereview.stackexchange.com – gdoron

+0

问这个问题似乎是题外话,因为它是关于代码重构 – gdoron

回答

0

像这样:

$("[data-toggle-tab]").click(function() { 
    $(".nav-tabs tr td a").removeClass("active"); 
    var href = $(this).attr("href"); 
    $(".nav-tabs tr td").find("[href='" + href + "']").addClass("active"); 
}); 
+0

谢谢你,Dave,这真的帮了我很多。我有一个小混乱,我试图实现scrollTo,以便每当我从顶部Nav调用ID时,我希望窗口滚动到选项卡窗格区域。这里有什么?再次感谢你。 –

相关问题