jQuery - 选项卡式内容 - 在选定选项卡上打开?

时间:2014-04-04 09:30:43

标签: javascript jquery html css tabs

我创建了一些标签内容。有什么办法让我通过更改URL来决定打开哪个标签?我确定我之前见过类似的东西,却找不到它!

我在这里创造了一个小提琴: http://jsfiddle.net/sW966/

默认选项卡是标签1.但是,例如,如果网址为http://jsfiddle.net/sW966/#tab-2,则页面会加载标签2打开?

感谢您的帮助,挣扎了一点:)

$(document).ready(function () {
    $(".tab").click(function () {
        $(".tab").removeClass("active");
        $(this).addClass("active");
        $("#tabbed-content .tab-content").hide();
        $($(this).attr("href")).show();
    });
});

2 个答案:

答案 0 :(得分:2)

为什么不将你的JS改为:

请注意,由于它的工作方式,这在jsfiddle中不起作用。

$(document).ready(function () {


    if(window.location.hash){
        tabChange($('.tab[href=#'+window.location.hash+']'));
    }

    function tabChange(tab){
        $(".tab").removeClass("active");
        tab.addClass("active");
        $("#tabbed-content .tab-content").hide();
        $(tab.attr("href")).show();        
    }    
    $(".tab").click(function () {
        tabChange($(this));
    });
});

答案 1 :(得分:0)

你可以试试这个:

<强> Working fiddle here

替换属性&#34; href&#34; to&#34; name&#34; ..

$(document).ready(function () {
   $(".tab").click(function () {
     $(".tab").removeClass("active");
     $(this).addClass("active");
     $("#tabbed-content .tab-content").hide();
     $($(this).attr("name")).show();
  });
});

祝你好运....