2016-09-20 8 views
0

Boostrap Offcanvasテンプレートを変更しようとしています。ブートストラップoffcanvasサイドバーを外側をクリックして閉じます。

実施例はhttp://getbootstrap.com/examples/offcanvas/です:

今それが唯一のトグルボタンをクリックすることで動作しますそれは私のための完璧な作品と私は追加したい唯一のことは(それの外でタップ/クリックしてサイドバーのメニューを閉じています)。

私はあなたの助けに感謝します。

HTML

<div class="container"> 
    <div class="row row-offcanvas row-offcanvas-right"> 
    <div class="col-xs-12 col-sm-9"> 
     <p class="pull-right visible-xs"> 
     <button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button> 
     </p> 
     <div class="row"> 
     <div class="col-xs-6 col-lg-4"> 
      <h2>Heading</h2> 
      <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p> 
      <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p> 
     </div> 
     <!--/.col-xs-6.col-lg-4--> 
     <div class="col-xs-6 col-lg-4"> 
      <h2>Heading</h2> 
      <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p> 
      <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p> 
     </div> 
     <!--/.col-xs-6.col-lg-4--> 
     </div> 
     <!--/row--> 
    </div> 
    <!--/.col-xs-12.col-sm-9--> 

    <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar"> 
     <div class="list-group"> <a href="#" class="list-group-item active">Link</a> <a href="#" class="list-group-item">Link</a> <a href="#" class="list-group-item">Link</a> </div> 
    </div> 
    <!--/.sidebar-offcanvas--> 
    </div> 
    <!--/row--> 

CSS

@media screen and (max-width: 767px) { 
    .row-offcanvas { 
    position: relative; 
    -webkit-transition: all .25s ease-out; 
    -o-transition: all .25s ease-out; 
    transition: all .25s ease-out; 
    } 

    .row-offcanvas-right { 
    right: 0; 
    } 


    .row-offcanvas-right 
    .sidebar-offcanvas { 
    right: -50%; /* 6 columns */ 
    } 


    .row-offcanvas-right.active { 
    right: 50%; /* 6 columns */ 
    } 

    .sidebar-offcanvas { 
    position: absolute; 
    top: 0; 
    width: 50%; /* 6 columns */ 
    } 
} 

jQueryの

$(document).ready(function() { 
    $('[data-toggle="offcanvas"]').click(function() { 
    $('.row-offcanvas').toggleClass('active') 
    }); 
}); 

答えて

0

あなたはこのような何か試すことができます。

$(document).click(function(e) { 
    var target = e.target; 
    if (!$(target).is('#sidebar') && !$(target).parents().is('#sidebar')) { 
     $('.row-offcanvas').removeClass('active') 
    } 
}); 
関連する問題