$(document).ready(function(){ $('#button-one').click(function () { $('#div-one').toggleClass('div-left-close').toggleClass('div-left-open'); $('#button-one').toggleClass('button-one-bg-close').toggleClass('button-one-bg-open'); }); }); $(document).ready(function(){ $('#button-two').click(function () { $('#div-two').toggleClass('div-right-close').toggleClass('div-right-open'); }); });
#button-one, #button-two { display: block; width: 20px; height: 55px; } #button-two { color: #fff; } .button-one-bg-close { background: #ff0000; } .button-one-bg-open { background: #ff0; } #div-one, #div-two { position: fixed; top: 0; height: 100%; width: 250px; background: rgba(0, 0, 0, 0.88); margin-top: 50px; } .div-left-close { left: -250px; -webkit-transition: left 0.3s ease-in-out; -moz-transition: left 0.3s ease-in-out; -o-transition: left 0.3s ease-in-out; transition: left 0.3s ease-in-out; } .div-left-open { left: 0px; -webkit-transition: left 0.3s ease-in-out; -moz-transition: left 0.3s ease-in-out; -o-transition: left 0.3s ease-in-out; transition: left 0.3s ease-in-out; } .div-right-close { right: -250px; -webkit-transition: right 0.3s ease-in-out; -moz-transition: right 0.3s ease-in-out; -o-transition: right 0.3s ease-in-out; transition: right 0.3s ease-in-out; } .div-right-open { right: 0px; -webkit-transition: right 0.3s ease-in-out; -moz-transition: right 0.3s ease-in-out; -o-transition: right 0.3s ease-in-out; transition: right 0.3s ease-in-out; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <a id="button-one" class="button-one-bg-close" href="#"></a> <div id="div-one" class="div-left-close"> <a id="button-two" href="#">LINK</a> Other content </div> <div id="div-two" class="div-right-close"> Other content </div>
Here is the complete code. It is necessary that if both blocks are open (visible) and the first button is pressed, then both blocks are closed, not just the first one.