2

我对 jquery 很陌生,我决定构建一个 jquery tabber。到目前为止一切顺利,但我有一个小问题!!!我看不到如何根据 URL 激活 tabber。例如,当链接为 时www.myweb.com#tab2,第二个选项卡将被激活。我的jquery如下。现在我知道 jquery 有它自己的 tabber 脚本,但我不想使用它。所以请其他人帮我完成这个

Javascript

$(document).ready(function() {

    var hash = location.hash;
    var link1 = ("ul#tabs li a[href='" + hash + "']")
    var link2 = ("ul.tabs li a[href='" + hash + "']")
    var link3 = ("ul#tabs li[href='" + hash + "']")

    $(".tab_content").hide(); //Hide all content
    if ((link3.length)(link2.length)(link1.length))

            { //check if such link exists
                      $(link3, link2, link1).parent().addClass("active"); //Activate tab
                      $(hash).show();
    }

    else {
      $("ul.tabs li a:first, ul#tabs li:first, ul#tabs li a:first").addClass('active');
      $(".tab_content:first").show()

        // On Click Event
        $("ul.tabs li").click(function() {
            $("ul.tabs li").removeClass("active"); //Remove any "active" class
            $(this).addClass("active"); //Add "active" class to selected tab
            $(".tab_content").hide(); //Hide all tab content

            var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
            $(activeTab).fadeIn(); //Fade in the active ID content
            return false;
        });

});

HTML

<ul class="tabs">
    <li><a href="#tab1">Design Team</a></li>
    <li><a href="#tab2">Publications</a></li>
    <li><a href="#tab3">Awards &amp; Recognitions</a></li>
    <li><a href="#tab4">Our Mission</a></li>
    <li class="last-item"><a href="#tab1">Company Profile</a></li>
</ul>

这就是我已经走了多远。由于我有 3 个选择器,jquery 代码奇怪地不起作用我如何实现这一点,所以 tabber 是基于 URL 激活的?谢谢

4

2 回答 2

0

看看 JQueryUI,他们有这样的预构建组件。具体来说:http: //jqueryui.com/tabs/

编辑:

或者他们是您构建自己的特定原因吗?

于 2013-03-29T14:42:52.883 回答
0

您可以使用以下设置选定的选项卡:

$(document).ready(function() {

    $('#tabs').tabs(); // make jquery tabs

    $("#tabs").tabs("select", window.location.hash);
});

函数的第二个参数$.tabs接受索引或选择器。

于 2013-03-29T15:11:57.143 回答