简单的jQuery选项卡问题

时间:2011-08-18 12:03:15

标签: javascript jquery jquery-tabs

我有一个非常简单的jquery选项卡函数,如下所示:

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

});

并且它的HTML是:

<div class="container">
  <ul class="tabs">
    <li><a href="#tab1">Tab 1</a></li>
    <li><a href="#tab2">Tab 2</a></li>
  </ul>
  <div class="tab_container">
    <div id="tab1" class="tab_content">
      <h2>Content</h2>
    </div>
    <div id="tab2" class="tab_content">
      <h2>Content</h2>
    </div>
    <div id="tab3" class="tab_content">
      <h2>Content</h2>
    </div>
    <div id="tab4" class="tab_content">
      <h2>Content</h2>
    </div>
  </div>
</div>

我试图在这里做的是添加另一个标签导航,所以使用其中的内容但不同的类来重复使用ul标签,所以我可以这样:

<ul class="tabs">
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
</ul>
<ul class="markers">
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
</ul>

..每当我点击任何一个列表时,它都会影响其他组中的

  • 任何帮助都非常赞赏。

    提前感谢您的帮助。

    的Dom

  • 2 个答案:

    答案 0 :(得分:1)

    尝试使用类标识符为<a>标记一个类抓取该标记 如

    var activeTab = $(this).find("a.classname").attr("href");
    

    它只会影响其类与您指定的类匹配的标签

    答案 1 :(得分:1)

    你sholud使用类名或id或元素来使用像这样的fadein()

     $("#id").fadeIn("slow");
    

    但在您的代码中,您尝试使用href属性。

    这里.................

    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
    

    我认为你不能像那样使用

    http://api.jquery.com/fadeIn/