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;
    }

});