如何根据链接URL激活我的jquery tabber

时间:2013-03-29 14:35:28

标签: javascript jquery

我对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激活的?感谢

2 个答案:

答案 0 :(得分:0)

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

修改

或者他们为什么要建立自己的特定原因?

答案 1 :(得分:0)

您可以使用以下方法设置所选标签:

$(document).ready(function() {

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

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

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