JSFiddle - React, Tailwind, and code Playground
by thillin
HTML
<div class="wrap">
<div class="menu">Lorem Ipsum Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nulla vitae elit libero, a pharetra augue. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Donec ullamcorper nulla non metus auctor fringilla. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</div>
<div class="main">
<header>
<div class="menu_btn"></div>
</header>
</div>
</div>
CSS
.wrap {
width: 320px;
height: 568px;
background: red;
clear: both;
position: relative;
overflow: hidden;
}
.menu, .main {
position: absolute;
}
.menu {
width: 0;
height: 100%;
background: pink;
left: 0;
}
.main {
width: 100%;
height: 100%;
background: blue;
left: 0;
}
.menu_btn {
height: 40px;
width: 40px;
background: yellow;
}
JavaScript
var menu_status = false,
speed = 300;
$('.menu_btn').click(function () {
if (menu_status == false) {
$('.menu').animate({
width: '80%'
}, speed);
$('.main').animate({
left: '80%'
}, speed);
menu_status = true;
} else {
$('.menu').animate({
width: '0'
}, speed);
$('.main').animate({
left: '0'
}, speed);
menu_status = false;
}
});