jQuery show页面加载时请求选项卡

时间:2010-02-24 16:34:26

标签: jquery

我在网站上使用以下代码作为标签...

$(document).ready(function(){
    $('.tab').click(function () {
        $('.tabs > li.active').removeClass('active');
        $(this).parent().addClass('active');
        $('div.tab_contents_container > div.tab_contents_active').removeClass('tab_contents_active');
        $(this.rel).addClass('tab_contents_active');
    });
});

有没有办法从网址加载指定的标签?例如:默认选项卡是“#tab1”但我想在请求指定的URL时加载“#tab2”...基本上我希望“#tab1”是默认值,除非请求http://example.com/page.html#tab2之类的URL ......这可能吗?

3 个答案:

答案 0 :(得分:0)

通过查询字符串传递您想要的选项卡,然后使用javascript获取该查询字符串变量并激活该特定选项卡。

答案 1 :(得分:0)

如果你的结构对于标签是这样的(最好我猜):

 <li><a href="#tab2" rel="tab2" class="tab">Tab 2</a></li>

你可以这样做:

$(function(){
    $('.tab').click(function () {
        $('.tabs > li.active').removeClass('active');
        $(this).parent().addClass('active');
        $('div.tab_contents_container > div.tab_contents_active').removeClass('tab_contents_active');
        $(this.rel).addClass('tab_contents_active');
    }).each(function() {
      if($(this).get(0).hash == location.hash) {
        $(this).click();
      }
    }
});

答案 2 :(得分:0)

location.hash有点不舒服。

请参阅jquery.bbq plugin

只需对haschchange事件做出反应,然后触发它,而不是直接更改标签。