使用jquery激活页面加载中的第二个选项卡

时间:2010-09-27 13:58:02

标签: jquery html

如何在页面加载中激活我的网页的第二个标签,我已经使用jquery和ul完成了标签。

下面是代码

<div class="tabcontainer">
  <ul class="tabs">
    <li><a href="#tab1">Saved Recipes</a></li>
    <li><a href="#tab2">Groups</a></li>
    <li><a href="#tab3">Friends</a></li>
    <li><a href="#tab4">My Recipes</a></li>
  </ul>
</div>

<div class="tab_container">
<!-- Tab 1 Starts Here  -->
  <div id="tab1" class="tab_content"></div>    
  <div id="tab2" class="tab_content"></div>
  <div id="tab3" class="tab_content"></div>    
  <div id="tab4" class="tab_content"></div>    
</div>

脚本:

$(document).ready(function() {
    //Default Action
    $(".tab_content").hide(); //Hide all content
    $("ul.tabs li:first").addClass("active").show(); //Activate first tab
    $(".tab_content:first").show(); //Show first tab content

    //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 rel attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active content
        return false;
    });
});

我知道如何激活第一个和最后一个,但是如何在页面加载期间激活第二个和第三个。

请帮忙......

3 个答案:

答案 0 :(得分:3)

使用与哈希匹配的jQuery选择器,然后单击它:

$('.tabs li a[href=\#tab2]').click();

答案 1 :(得分:0)

您可以使用.eq()例如:

var activeTab = 1; //0 based, so 1 = 2nd
$("ul.tabs li").eq(activeTab).addClass("active").show();
$(".tab_content").eq(activeTab).show();

:eq()这样:

$("ul.tabs li:eq(1)").addClass("active").show();
$(".tab_content:eq(1)").show();

或者......我要做的就是使用你已有的点击处理程序,不需要重复代码,如下所示:

$(function() {
  $(".tab_content").hide(); //Hide all content

  $("ul.tabs li").click(function() {
    $(this).addClass("active").siblings().removeClass("active");
    var activeTab = $(this).find("a").attr("href");
    $(activeTab).fadeIn().siblings().hide();
    return false;
  }).eq(1).click(); //click the second
});

如果您有样式控件,请让<a>占用整个<li>并将点击处理程序直接附加到锚点:

$(function() {
  $(".tab_content").hide();

  $("ul.tabs li a").click(function(e) {
    $(this).closest("li").addClass("active").siblings().removeClass("active");
    $(this.hash).fadeIn().siblings().hide();
    e.preventDefault();
  }).eq(1).click(); //click the second
});

答案 2 :(得分:0)

$(function(){         $( “#标签”)。标签({             active:1 //从0开始,1是第二个选项卡。         });     });

相关问题