代码之家  ›  专栏  ›  技术社区  ›  eozzy

单击显示多个元素

  •  0
  • eozzy  · 技术社区  · 15 年前

    HTML格式:

    <ul id="mode">
        <li><a href="#tab1">tab1</a>
            <div class="extra">tada</div>
            </li>
        <li><a href="#tab2">tab2</a>
            <div class="extra">tada</div> 
        </li>
    </ul>
    <div id="tab1" class="tab-content" style="display: none">content 1</div>
    <div id="tab2" class="tab-content" style="display: none">content 2</div>
    ​
    

    jQuery查询:

    $(function(){
        var mode = $('#mode');
        var arrow = $('<span/>', {'class': 'arrow'});
        $('li a', mode).bind('click.mytabs', function() {
            $('li', mode).removeClass('active');
            $(this).parent().addClass('active').append(arrow);
            var a = $(this).attr('href');
            $('.tab-content').hide();
            $(a).show();
            return false;  
        }).filter(':first').triggerHandler('click.mytabs'); // eq(0) works as well
    });
    

    http://jsfiddle.net/wwMJL/

    我还想在单击时显示每个li的“额外”div,当选项卡处于非活动状态时隐藏,我需要在代码中更改什么?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Reigel Gallarde    15 年前
    $(function(){
        var mode = $('#mode');
        var arrow = $('<span/>', {'class': 'arrow'});
        $('li a', mode).bind('click.mytabs', function() {
            $('li div', mode).hide();
            $(this).siblings('div').show();
            $('li', mode).removeClass('active');
            $(this).parent().addClass('active').append(arrow);
            var a = $(this).attr('href');
            $('.tab-content').hide();
            $(a).show();
            return false;  
        }).filter(':first').triggerHandler('click.mytabs'); // eq(0) works as well
    });
    

    demo