Sliding Menu
Sumi
by JQ Purfect
HTML
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<!--
Example taken from http://getbootstrap.com/components/#navbar-default
-->
<div id="wrapper">
<!-- Modified navbar: Animating from right to left (off canvas) -->
<nav id="navbar2" class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Title</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
<h3>
Hello....
</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis...
CSS
/* Reset responsive Bootstrap elements */
#navbar2 .navbar-header {
float: none;
}
#navbar2 .navbar-toggle {
display: block;
}
#navbar2 .navbar-nav {
float: none !important;
margin: 7.5px -15px;
}
#navbar2 .navbar-nav .open .dropdown-menu {
position: static;
float: none;
background-color: transparent;
border: 0;
box-shadow: none;
}
#navbar2 .navbar-form {
float: none !important;
padding: 0;
}
#navbar2 .navbar-nav>li {
float: none;
}
/* Reposition elements affected by the sliding menu */
#wrapper {
position: relative;
right: 0;
transition: right 0.35s ease;
}
#navbar2 .navbar-collapse {
position: fixed;
top: 0;
right: -30%;
display: block;
width: 30%;
height: 100% !important;
/*max-height: 100%;*/
margin: 0;
background-color: #f8f8f8;
transition: right 0.35s ease;
}
#navbar2 .navbar-collapse.collapsing {
transition: right 0.35s ease;
}
#navbar2 .navbar-collapse.in {
right: 0;
}
body.menu-slider.in {
overflow: hidden;
}
body.menu-slider #wrapper {
transition: right 0.35s ease;
}
body.menu-slider.in #wrapper {
right: 30%;
}
JavaScript
(function ($) {
'use strict';
// Toggle classes in body for syncing sliding animation with other elements
$('#bs-example-navbar-collapse-2')
.on('show.bs.collapse', function (e) {
$('body').addClass('menu-slider');
})
.on('shown.bs.collapse', function (e) {
$('body').addClass('in');
})
.on('hide.bs.collapse', function (e) {
$('body').removeClass('menu-slider');
})
.on('hidden.bs.collapse', function (e) {
$('body').removeClass('in');
});
})(jQuery);