Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据链接URL激活jquery选项卡_Javascript_Jquery - Fatal编程技术网

Javascript 如何根据链接URL激活jquery选项卡

Javascript 如何根据链接URL激活jquery选项卡,javascript,jquery,Javascript,Jquery,我对jquery非常陌生,我决定构建一个jquery选项卡。到目前为止还不错,但我有一个小问题!!!我看不出如何根据URL激活选项卡。例如,当链接为www.myweb.com#tab2时,第二个选项卡将被激活。我的jquery如下所示。现在我知道jquery有自己的tabber脚本,但我不想使用它。那么还有谁能帮我完成这件事吗 Javascript $(document).ready(function() { var hash = location.hash; var link

我对jquery非常陌生,我决定构建一个jquery选项卡。到目前为止还不错,但我有一个小问题!!!我看不出如何根据URL激活选项卡。例如,当链接为
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代码奇怪地不起作用,我如何实现这一点,以便根据URL激活tabber?谢谢

看看JQueryUI,他们有这样的预构建组件。 具体而言:

编辑:


或者它们是您创建自己的选项卡的特定原因?

您可以使用以下命令设置所选选项卡:

$(document).ready(function() {

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

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

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

是的,我在我所有的页面中都使用了它,我不想再做整个编辑了