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

});

OK、上位の jquery (および CSS) を使用して HTML をたどると、人気のあるタブが作成されます (実際には 2 つのタブがブロックされます)。

HTML

//first block
    <div>
    <ul class="tabs">
        <li><a href="#tab1">1</a></li>
        <li><a href="#tab2">2</a></li>
    </ul>
     <div class="tab_container">
        <div id="tab1" class="tab_content">Content 1</div>
        <div id="tab2" class="tab_content">Content 2</div>
     </div>
    </div>
    
    <div>Something images in between</div>
  
//second block  
    <div>
    <ul class="tabs">
        <li><a href="#tab3">3</a></li>
        <li><a href="#tab4">4</a></li>
    </ul>
     <div class="tab_container">
        <div id="tab3" class="tab_content">Content 3</div>
        <div id="tab4" class="tab_content">Content 4</div>
     </div>
    </div>

ページの読み込み時

  • 最初のブロック (最初のタブ) のコンテンツのみが表示されます (2 番目のブロックの最初のタブが閉じている間)。

  • もちろん、2 番目のブロックのタブをクリックすると、最初のブロックの内容が閉じたり影響を受けたりします。

    たとえば、両方のブロック (および最初のタブ) を表示し、ブロックを個別の ID として機能させるにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

これを試してくださいhttp://jsfiddle.net/54fDF/

HTML

//first block
    <div>
    <ul class="tabs">
        <li><a href="#tab1">1</a></li>
        <li><a href="#tab2">2</a></li>
    </ul>
     <div class="tab_container">
        <div id="tab1" class="tab_content">Content 1</div>
        <div id="tab2" class="tab_content">Content 2</div>
     </div>
    </div>

    <div>Something images in between</div>

//second block  
    <div>
    <ul class="tabs">
        <li><a href="#tab3">3</a></li>
        <li><a href="#tab4">4</a></li>
    </ul>
     <div class="tab_container">
        <div id="tab3" class="tab_content">Content 3</div>
        <div id="tab4" class="tab_content">Content 4</div>
     </div>
    </div>

Javascript

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

    //On Click Event
    $("ul.tabs li").click(function() {
        var contId = $(this).find('a').attr('href');
        var parent = $(contId).parent();
        parent.find('.tab_content').hide();
        $(contId).fadeIn();
    });
});
于 2013-09-02T05:10:46.440 に答える