Menu onClick change body opacity and color with out effecting header portion. Header must continue with opacity 1 and white background.
Also, release function when click anywhere.
$(document).ready(function() {
$(document).on('click', 'button', function() {
$('body').toggleClass('active')
});
$(document).mouseup(function (e){
var container = $('.popup');
if (!container.is(e.target)
&& container.has(e.target).length === 0)
{
container.slideUp();
}
});
});
body.active {
background-color: rgba(0, 0, 0, 0.5);
opacity: 0.5;
}
<nav class="nav">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="nav__toggle" aria-expanded="false" type="button">
<i class="fa fa-bars" aria-hidden="true"></i>
</button>
<ul class="nav__wrapper">
<li class="nav__item"><a href="#">Home</a></li>
<li class="nav__item"><a href="#">About</a></li>
<li class="nav__item"><a href="#">Services</a></li>
<li class="nav__item"><a href="#">Hire us</a></li>
<li class="nav__item"><a href="#">Contact</a></li>
</ul>
</nav>