简单 jQuery 选项卡的问题

发布于 2024-11-30 08:55:50 字数 2014 浏览 0 评论 0原文

我有一个非常简单的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>

..每当我单击任何列表时,它都会影响

  • 其他组。

    非常感谢任何帮助。

    感谢您提前提供的帮助。

    多姆

  • I have a very simple jquery tabs functions that looks like this :

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

    and the HTML for it is :

    <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>
    

    What im trying to do here is add another tab navigation, so bacically repat the ul tag with content in it but different class so I can have something like this :

    <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>
    

    ..and whenever I click on any of the list it will affect

  • in other group.

    Any help much appreciaated.

    Thank you for your help in advance.

    Dom

  • 如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(2

    入画浅相思 2024-12-07 08:55:50

    您应该使用类名或 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/

    you sholud use a class name or id or an element to use fadein() like this

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

    but in your code you are trying to use href attribute .

    here.................

    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
    

    i think you can't use like that

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

    耳钉梦 2024-12-07 08:55:50

    尝试为 标签放置一个类,并使用类标识符抓取该标签
    因为

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

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

    try to put a class for <a> tag a grab that tag using the class identifier
    as

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

    it will only affect the tags whose class is matched with the one you specified

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文