slidecontainer
HTML
<script src="//cdn.jsdelivr.net/jquery.easing/1.3/jquery.easing.1.3.js"></script>
<script src="<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>"></script>
<div class="wrapper">
<div class="navcontainer">
<h1>Takeshi Iue</h1>
<nav class="mainnav">
<ul class="menu">
<li><a href="#">Chair</a></li>
<li><a href="#">Stools</a></li>
<li><a href="#">Table</a></li>
</ul>
</nav>
<nav class="bottomnav">
<ul class="menu">
<li><a href="#">IMPRESSUM</a></li>
<li><a href="#">FB</a></li>
<li><a href="#">TW</a></li>
<li><a href="#">KONTAKT</a></li>
</ul>
</nav>
</div>
<section class="content">
<img src="http://www.zanellatobortotto.com/wp-content/uploads/2015/04/Home_Dotandcross-Convertible-bed.jpg">
</section>
<div class="subnavcontainer">
<nav class="subnav">About</nav>
<div class="info">MAN I LOVE DUMPLINGS</div>
</div>
</div>
CSS
body {
font-family: 'Roboto', sans-serif;
}
.wrapper {
background: blue;
width: 100%;
position: absolute;
top: 0;
bottom: 0;
overflow: hidden;
}
.navcontainer {
background: pink;
position: absolute;
top: 0;
bottom: 0;
left: 0;
text-align: center;
z-index: 10;
width: 30%;
}
.navcontainer:after {
content:"";
position: absolute;
top: 0;
bottom: 0;
left: 50%;
border-left: 0px solid #333;
z-index: -1;
}
.navcontainer h1 {
font-size: 2.5em;
background: ;
text-align: center;
margin-top: 90px;
}
.mainnav {
width: 30%;
margin: 0 auto;
padding-top: 90px;
position: relative;
}
.bottomnav {
position: absolute;
height: 40px;
bottom: 0;
background: ;
width: 100%;
text-align: center;
}
.content {
background: ;
position: relative;
width: 70%;
left: 30%;
}
.content img {
max-width: 100%;
max-height: auto;
}
.content .info {
position: absolute;
background: ;
z-index: 10;
top: 0;
min-width: 30%;
}
.subnavcontainer {
background: grey;
position: absolute;
top: 0;
bottom: 0;
width: 30%;
left: 100%;
}
/* MENUS */
ul.menu {
margin: 0;
padding: 0;
list-style-type: none;
}
.mainnav li {
font-size: 1.8em;
padding: 5px 0;
/*background: rgba(255,255,255,.1);*/
}
.mainnav li.active {
margin-top: 10px;
}
.mainnav li.active:first-child {
margin-top: 0;
}
.bottomnav .menu {
width: 100%;
}
.bottomnav li {
display: inline-block;
line-height: 40px;
font-size: .75em;
}
JavaScript
var navcont = $('.navcontainer');
var content = $('.content');
var subnavcont = $('.subnavcontainer');
var mainnavLink = $('.mainnav .menu > li');
var easing = 'easeInBack';
//var easing = "swing"; // with this easing function no problems
mainnavLink.children('a').click(function(){
offset = navcont.width();
slideContainer(navcont, easing, offset);
setTimeout(function() {
slideContainer(content, easing, offset);
}, 200);
setTimeout(function() {
slideContainer(subnavcont, easing, offset);
}, 400);
});
subnavcont.click(function(){
offset = navcont.width();
slideContainer(subnavcont, easing, offset)
setTimeout(function() {
slideContainer(content, easing, offset);
}, 100);
setTimeout(function() {
slideContainer(navcont, easing, offset);
}, 300);
});
function slideContainer(container, easing, offset){
direction = (container.hasClass('out')) ? '+' : '-';
//margin = (container.hasClass('out')) ? 0 : -offset;
container.stop().animate({
left: direction+"="+offset
//'margin-left' : margin
}, 650, easing, function() {
$(this).toggleClass('out');
});
};