25 lines
924 B
JavaScript
25 lines
924 B
JavaScript
|
function init_parallax() {
|
||
|
$('.parallax').each(function(){
|
||
|
// Calculate Offset
|
||
|
inset = $(this).attr('parallax-inset');
|
||
|
image_height = $(this).height();
|
||
|
range = image_height / inset;
|
||
|
$(this).attr('parallax-offset', range / 2);
|
||
|
});
|
||
|
console.log("Parallax Initialised.");
|
||
|
parallax();
|
||
|
}
|
||
|
function parallax() {
|
||
|
window_top = $(window).scrollTop();
|
||
|
window_bottom = window_top + $(window).height();
|
||
|
$('.parallax').each(function(){
|
||
|
if (!is_on_screen(this) || !$(this).attr('parallax-offset') != false) { return; }
|
||
|
element = $(this);
|
||
|
center_pos = (element.offset().top - $(window).scrollTop()) + (element.height() / 2);
|
||
|
perc = -(0.5 - ((window_top - center_pos) / window_bottom));
|
||
|
|
||
|
pos = Math.round((perc * element.attr('parallax-offset')) * 100) / 100;
|
||
|
element.css('background-position',"0px " + pos + "px");
|
||
|
});
|
||
|
}
|