Как правильно сделать Parallax-эффект?

V
На сайте с 04.06.2014
Offline
54
954

Есть параллакс эффект (пример на jsfiddle). Параллакс срабатывает только когда страница прокручена к нужному блоку. Как правильно рассчитать background-position, чтобы при просмотре на большом мониторе в блоке не было пустой области под картинкой?

HTML:

<div id="parallax"></div>

CSS:

#parallax {

margin: 1000px 0;
width: 100%;
height: 490px;
border: 5px solid #000;
background: url(http://victorpavloff.tmweb.ru/abc/real_scenery.jpg) 50% 0px no-repeat fixed;
}

JS:

$window = $(window);


var BlockTop = $('#parallax').offset().top;
$window.on('load scroll', function() {
var Top = $window.scrollTop();
var Height = $window.height();
var Scroll = BlockTop-Top-Height;
if (Top + Height >= BlockTop) {
$('#scroll').text(Scroll);
Parallax();
}
});

function Parallax() {
$('#parallax').each(function(){
var $bgobj = $(this);
var Top = $window.scrollTop();
var Height = $window.height();
var Scroll = BlockTop-Top;
$window.on('load scroll', function() {
var yPos = Scroll/5;
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
});
});
}
Партнёрка №1 в essay-нише (https://goo.gl/YfTPtG)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий