2015-07-04 19:53:15 +00:00
|
|
|
/*
|
|
|
|
* Sakura Misaki JavaScript
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Get or set cookies
|
|
|
|
function cookieData(action, name, data) {
|
|
|
|
|
|
|
|
switch(action) {
|
|
|
|
|
|
|
|
case 'get':
|
|
|
|
return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : '';
|
|
|
|
|
|
|
|
case 'set':
|
|
|
|
document.cookie = name + '=' + data;
|
|
|
|
return null;
|
|
|
|
|
|
|
|
default:
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Initialising the element parallax functionality
|
|
|
|
function initialiseParallax(id) {
|
|
|
|
|
|
|
|
// Assign the element to a variable
|
|
|
|
var parallax = document.getElementById(id);
|
|
|
|
|
|
|
|
// Set proper position values
|
|
|
|
parallax.style.top = '-2.5px';
|
|
|
|
parallax.style.bottom = '-2.5px';
|
|
|
|
parallax.style.left = '-2.5px';
|
|
|
|
parallax.style.right = '-2.5px';
|
|
|
|
|
|
|
|
// Add the event listener to the body element
|
|
|
|
document.addEventListener("mousemove", function(e) {
|
|
|
|
|
|
|
|
// Alter the position of the parallaxed element
|
|
|
|
parallax.style.top = convertParallaxPositionValue(e.clientY, true, false) + 'px';
|
|
|
|
parallax.style.bottom = convertParallaxPositionValue(e.clientY, true, true) + 'px';
|
|
|
|
parallax.style.left = convertParallaxPositionValue(e.clientX, false, false) + 'px';
|
|
|
|
parallax.style.right = convertParallaxPositionValue(e.clientX, false, true) + 'px';
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Converting the position value of the mouseover to a pixel value
|
|
|
|
function convertParallaxPositionValue(pos, dir, neg) {
|
|
|
|
|
|
|
|
// Get the body element
|
|
|
|
var body = document.getElementsByTagName('body')[0];
|
|
|
|
|
|
|
|
// Get percentage of current position
|
|
|
|
var position = (pos / (dir ? body.clientHeight : body.clientWidth)) * 100;
|
|
|
|
|
|
|
|
// If someone decided to fuck with the inputs reset it to 0%
|
|
|
|
if(position < 0 || position > 100) {
|
|
|
|
|
|
|
|
position = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Do the first maths
|
|
|
|
position = (position / (dir ? 25 : 20)) - 2.5;
|
|
|
|
|
|
|
|
// If the negative flag is set inverse the number
|
|
|
|
if(neg) {
|
|
|
|
|
|
|
|
position = -position;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Subtract another 2.5 to make the element not go all over the place
|
2015-10-17 20:58:51 +00:00
|
|
|
position = position - 2.5;
|
2015-07-04 19:53:15 +00:00
|
|
|
|
|
|
|
// Return the proper position value
|
|
|
|
return position;
|
|
|
|
|
|
|
|
}
|
2015-10-17 20:58:51 +00:00
|
|
|
|
|
|
|
// Menu bar
|
|
|
|
window.addEventListener("scroll", function(e) {
|
|
|
|
if(e.pageY > 123) {
|
|
|
|
var content = document.getElementById('content');
|
|
|
|
var navigation = document.getElementById('navigation');
|
|
|
|
navigation.style.position = 'fixed';
|
|
|
|
navigation.style.top = '0';
|
|
|
|
content.style.paddingTop = '37px';
|
|
|
|
} else {
|
|
|
|
var content = document.getElementById('content');
|
|
|
|
var navigation = document.getElementById('navigation');
|
|
|
|
navigation.style.position = null;
|
|
|
|
navigation.style.top = null;
|
|
|
|
content.style.paddingTop = null;
|
|
|
|
}
|
|
|
|
});
|