【问题标题】:Activating second tab in page load using jquery使用 jquery 激活页面加载中的第二个选项卡
【发布时间】:2013-04-24 19:38:09
【问题描述】:

如何在页面加载中激活网页的第二个选项卡,我已经使用 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;
    });
});

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

请帮忙...

【问题讨论】:

    标签: jquery html


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用.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
      });
      

      或者如果你有样式控制,让&lt;a&gt;占据整个&lt;li&gt;并将点击处理程序直接附加到锚点:

      $(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
      });
      

      【讨论】:

        【解决方案3】:

        $(函数 () { $("#tabs").tabs({ active: 1 //从0开始,1是第二个tab。 }); });

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-25
          • 1970-01-01
          • 2012-09-27
          • 2013-07-23
          • 1970-01-01
          • 2010-09-18
          相关资源
          最近更新 更多