打开选项卡,锚定链接不起作用

时间:2014-04-17 05:41:08

标签: javascript jquery tabs anchor

正如标题所说,我试图通过在页面加载时检查哈希来做到这一点,然后在右侧选项卡上触发点击,如下所示:

Javascript

   <script>
    $(function () {
        $(".tab-nav a").bind('click', function (e) {
             e.preventDefault();
    $(this).parents('li').addClass("active").siblings().removeClass("active");
    $('.tab-content').removeClass('active').hide();
    console.log($('.tab-content:eq('+$(this).index()+')'));
    $('.tab-content:eq('+$(this).parents('li').index()+')').addClass('active').show();
});

$('.tab-nav a').first().click();

var hash = $.trim( window.location.hash );
if (hash) $('.tab-nav a[href$="'+hash+'"]').trigger('click');

});
    </script>

这是我在services.html

下的标签设置
<section class="tabs">

    <ul class="tab-nav">
        <li class="active"><a href="#first">First Tab</a></li>
        <li><a href="#second">Second Tab</a></li>
        <li><a href="#third">Third Tab</a></li>
    </ul>

    <div class="tab-content">
        <p>Here's the first piece of content</p>
    </div>
    <div class="tab-content active">
        <p>My tab is active so I'll show up first! Inb4 tab 3!</p>
    </div>
    <div class="tab-content">
        <p>Don't forget about me! I'm tab 3!</p>
    </div>

 </section>

因此,当我从主页链接到服务页面时,请说出第二个标签:

<a href="services.html#second></a> 

我希望转到第二个标签:)

我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您也可以使用:

$('#mylink').click(function() {
$('#tabs').tabs('select', 1); // switch to second tab
return false;
 });