First of all, here is the basic code for the site I need help with: check bottom for edit
I'd like some help with the animation itself, because if I'm at div 1 and press any key, it works like a charm. But if I'm at div 3 and want to go to div 2, for example, it first loads div 1 and then goes to div 2. I know why it does it, but I can't think of a way to go around it. Any ideas?
I'd also like to pause the function from inputs if the animation is already playing (so you can't spam numbers and mess up the animation). How could I do that in an easy way?
Thanks!
EDIT
Due to a few very nice guys asking for me not being lazy, OP delivers: http://jsfiddle.net/G4PXj/7
Also; http://codepen.io/anon/pen/zJsBH
Also, press HTML-box, then 2,3 or 4 and wait a few seconds for the animation to load into FOV.
HTML:
<div id="fourth" class="hidden">Fourth box
<button onClick="fubar('first');">First page</button>
</div>
<div id="third" class="hidden">Third div</div>
<div id="second" class="hidden">Som text in the second</div>
<div id="first">Some content
<button onClick="fubar('second');">Second page</button>
</div>
Style:
@charset "utf-8";
body {
background-color: #fff;
margin: 0;
padding: 0;
overflow: hidden;
}
#first {
width: 100%;
height: 100%;
position: absolute;
top: 0;
color: #fff;
box-shadow: 0 0 40px #333;
background-color: #000;
}
#second {
width: 100%;
height: 100%;
position: absolute;
top: 0;
background-color: green;
}
#third {
width: 100%;
height: 100%;
position: absolute;
top: 0;
background-color: red;
}
#fourth {
width: 100%;
height: 100%;
position: absolute;
top: 0;
background-color: blue;
}
.hidden {
display: none;
}
.test {
-moz-animation-name: wat;
-webkit-animation-name: wat;
-moz-animation-duration: 4s;
-webkit-animation-duration: 4s;
-moz-animation-timing-function: ease-out;
-webkit-animation-timing-function: ease-out;
-moz-animation-iteration-count: 1;
-webkit-animation-iteration-count: 1;
-moz-animation-direction: normal;
-webkit-animation-direction: normal;
z-index: 100;
display: block;
}
@-moz-keyframes wat {
0% {margin-left:-3000px;}
60% {margin-left: 200px;}
100% {margin-left: 0;}
}
@-webkit-keyframes wat {
0% {margin-left:-3000px;}
60% {margin-left: 200px;}
100% {margin-left: 0;}
}
Javascript:
function clearAll() {
document.getElementById('first').className = '';
document.getElementById('second').className = '';
document.getElementById('third').className = '';
document.getElementById('fourth').className = '';
}
function troll(objectID) {
document.getElementById(objectID).className += ' test';
}
function fubar(objectID) {
clearAll();
troll(objectID);
}
function KeyCheck(e) {
var KeyID = (window.event) ? event.keyCode : e.keyCode;
switch (KeyID) {
case 49:
clearAll();
troll('first');
break;
case 50:
clearAll();
troll('second');
break;
case 51:
clearAll();
troll('third');
break;
case 52:
clearAll();
troll('fourth');
break;
}
}
document.onkeyup = KeyCheck;