Я пытаюсь создать свой собственный плагин параллакса, чтобы я мог выбирать направление перехода элементов с экрана, и я просто застрял в том, чтобы убедиться, что независимо от того, как пользователь прокручивает и независимо от размера окно, что объект исчезает в нужной точке.
В настоящее время у меня есть:
var lastScrollTop = 0;
var logoStartPos = $('.bg-logo').position().left;
$(function(){
$(window).scroll(function(){
var st = $(this).scrollTop();
if (st > lastScrollTop){
if($('.bg-logo').is(':in-viewport'))
$('.bg-logo').css({'left':($('.bg-logo').position().left+10) + "px"});
} else {
if($('.bg-logo').is(':in-viewport') && logoStartPos < $('.bg-logo').position().left)
$('.bg-logo').css({'left':($('.bg-logo').position().left-10) + "px"});
}
lastScrollTop = st;
});
});
Как вы можете догадаться, это перемещает элемент только до тех пор, пока он не исчезнет с экрана. Этот способ дает разные результаты, потому что, если я использую колесо прокрутки, мне требуется больше времени, чтобы исчезнуть, если я использую полосу прокрутки. У меня также есть еще одна проблема: если я использую смесь или имею другой порт просмотра, я получаю другой результат.
Любые советы или указатели для достижения результата, который мне нужен?
Рабочий пример моего кода находится по адресу http://motoring.egl.me.uk.
Спасибо Мэтт