如何隐藏我的原始节目按钮并允许单击任何地方隐藏我的内容?

时间:2012-11-26 03:59:16

标签: jquery click show-hide

我想知道如何隐藏我的原始节目按钮。然后,当我点击页面上的任何地方时,它会隐藏显示按钮显示的原始内容。

<script>
    $(function(){

        $(".content").hide();
        $('.more-btn').click(function(){
           $(this).parent().parent().siblings('.content').show();
           $(this).hide();
        });

    });
</script>

这是HTML

<section>
    <article class="toggle-box" id="toggle1">
        <aside class="info-rollover">
            <h3>Locavores</h3>
            <button class="more-btn">Show More</button>
        </aside>
    </article>
    <aside class="content">
        <img src="images/loca/1.jpg"/>
        <img src="images/loca/2.jpg"/>
        <img src="images/loca/3.jpg"/>
        <img src="images/loca/4.jpg"/>
        <img src="images/loca/5.jpg"/>
        <img src="images/loca/6.jpg"/>
        <img src="images/loca/7.jpg"/>
        <img src="images/loca/8.jpg"/>
        <img src="images/loca/9.jpg"/>
    </aside>
</section>

点击代码

上的新隐藏节目
                   $(document).click(function(){
                    $('.content:visible').hide();
                    $('.content>img:hidden').show(),$('body').css('cursor', 'default');
                    });

            });

2 个答案:

答案 0 :(得分:0)

隐藏按钮后,您可以绑定到正文。

$( '.more-btn').click( function(){
  var button=$( this ).hide(),
  content= $('.content' ).show();
  $( 'body' ).bind( 'click.more', function( e ){
    $( this ).unbind( 'click.more' );
    button.show();
    content.hide();
  });
});

答案 1 :(得分:0)

<强> jsBin demo

$(function(){

    $(".content").hide();
    $('.more-btn').click(function( e ){
       e.stopPropagation(); // to lower "DOM layers"
       $(this).closest('section').find('.content').show();
       $(this).hide();
    });

    $(document).click(function(){
      $('.content:visible').hide();
      $('.more-btn:hidden').show();
    });

});