Sliding Screens PanelSnap
Fullscreen vertically-sliding DIVs, with fixed-position navigation. Used PanelSnap jQuery plugin.
by the_voder
HTML
<script src="https://dl.dropboxusercontent.com/u/56358859/jsfiddle_assets/query-plugins/panelsnap/jquery.panelSnap.js"></script>
<header>
<nav>
<div id="menu">
<a href="/panel1" data-panel="panel1">Panel 1</a>
<a href="/panel2" data-panel="panel2">Panel 2</a>
<a href="/panel3" data-panel="panel3">Panel 3</a>
<a href="/panel3" data-panel="panel4">Panel 4</a>
</div>
</nav>
</header>
<section id="screen1" class="screens" data-panel="panel1">
<div class="screencontent">Screen 1</div>
</section>
<section id="screen2" class="screens" data-panel="panel2">
<div class="screencontent">Screen 2</div>
</section>
<section id="screen3" class="screens" data-panel="panel3">
<div class="screencontent">Screen 3</div>
</section>
<section id="screen4" class="screens" data-panel="panel4">
<div class="screencontent">Screen 4</div>
</section>
CSS
body, html {
height:100%;
margin: 0;
padding: 0;
}
#menu {
position: fixed;
left: 20px;
top: 20px;
z-index: 999;
padding: 5px;
background-color: #ddd;
border-radius: 4px;
box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
}
#menu a:link, ul#navigation li a:visited, ul#navigation li a:active {
text-decoration: none;
width: 80px;
display: block;
height: 20px;
color: #666;
margin: 0 0 2px 0;
padding: 5px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
transition: background-color 1000ms ease-out;
}
#menu a:hover {
background-color: #eee;
transition: background-color 500ms ease-out;
}
/* This class is applied by PanelSnap to current active screen link in nav menu */
.active {
background-color: white;
}
.screens {
position: relative;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
#screen1 {
background-color: red;
}
#screen2 {
background-color: green;
}
#screen3 {
background-color: blue;
}
#screen4 {
background-color: yellow;
}
.screencontent {
position: absolute;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
text-align: center;
width: 100px;
height: 100px;
padding: 10px;
background-color: white;
}
JavaScript
/*
REQUIRED PLUGINS
jQuery PanelSnap:
https://github.com/guidobouman/jquery-panelsnap
*/
$(document).ready(function() {
// Options for jQuery PanelSnap plugin
var options = {
$menu: $('#menu'), // Menu selector
menuSelector: 'a', // Menu item selector
panelSelector: 'section', // Panel element
directionThreshold: 50,
slideSpeed: 500
};
// Apply PanelSnap to body element
$('body').panelSnap(options);
});