使用URL打开jQuery选项卡

时间:2011-03-30 19:40:41

标签: jquery tabs

我有一个页面,上面有这个jQuery脚本的标签

http://www.sohtanaka.com/web-design/simple-tabs-w-css-jquery/

我希望能够在用户转到网址http://mysite.com/about.php#tab3

时将标签3设为第一个

这可能吗?

3 个答案:

答案 0 :(得分:5)

根据示例,您可以通过以下方式修改它:

$(function() {
    $(".tab_content").hide(); //Hide all content
    //On Click Event (left standart)
    $("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;
    });


    // here we are looking for our tab header
    hash = window.location.hash;
    elements = $('a[href="' + hash + '"]');
    if (elements.length === 0) {
        $("ul.tabs li:first").addClass("active").show(); //Activate first tab
        $(".tab_content:first").show(); //Show first tab content
    } else {
        elements.click();
    }
});

Working example is here。小心 - 哈希在那里硬编码,因为我不知道如何将它传递给测试帧:(

答案 1 :(得分:2)

我没有对此进行测试,但您应该能够从以下网址获取哈希:

var hash= window.location.hash;

然后使用请求的哈希抓取link元素,并模仿点击它

$("a[href='"+hash+"']").click();

答案 2 :(得分:0)

是的,你可以做到这一点。您需要一些代码来获取网址并触发正确的标签。

或者您可以查看Jquery工具选项卡(http://flowplayer.org/tools/demos/tabs/) 或Jquery UI选项卡(http://jqueryui.com/demos/tabs/)

这两个功能(以及大量其他选项)已经内置。