Deutsch

JS parallax вопрос

217  
alexnaum старожил14.07.15 23:03
alexnaum
14.07.15 23:03 
приветствую, в общем, нужна помощь по js, сам не очень силен, к сожалению и стыду.
Леплю лендинг, оч понравилась идея реализации параллакса с несколькими частями, стянул скрипты с одного сайта.
Вот что получается, сайт в разработке, так что вопрос чисто по теме JS, никаких отвлечений на все остальное - http://duschen-marmor.de/landing/index6.html#solutions
Чуть ниже, с началом раздела Schluss mit hohem Einstieg und Ablaufprobleme! начинается -
3 верхних части двигаются по скроллу с разными скоростями вниз, 2 нижних не двигаются, в какой то момент в определенной точке все части сходятся, дальше начинают разъезжаться.
А хочется сделать так, чтобы после того, как все части сошлись, движение прекратилось. Т.е. необходимо как то для этих частей определить конечные позиции, после которых их вертикальные скорости стали бы равны 0.
Возможно вообще? Если да, буду благодарен за помощь.
#1 
NightWatch коренной житель15.07.15 09:35
NightWatch
NEW 15.07.15 09:35 
в ответ alexnaum 14.07.15 23:03
function doTransformParallax(scrollTop) {
if(scrollTop > options.startPos) {
obj.css('transform', 'translate3d(0,' + getPosition() + 'px,0)');
} else {
obj.css('transform', 'translate3d(0,' + getPosition() + 'px,0)');
}
}

Что тут разработчик имел в виду, не понятно.

#2 
alexnaum старожил15.07.15 14:32
alexnaum
NEW 15.07.15 14:32 
в ответ NightWatch 15.07.15 09:35
вот и я не очень понимаю, с учетом того, что с js далеко не на ты -
но что то я думал, что реализовать это как то не очень сложно для знатока:
я вижу в firebug, как по скроллу изменяется строка -
<div class="exploded part1" style="transform: translate3d(0px, 398.575px, 0px);">
т.е. меняется не вся строка, а как раз текущая позиция, если я правильно понимаю, это как раз то число, которое возвращает функция getPosition()
Меняется в сторону увеличения, вот я и думал, что можно как то простым условием обойтись, что типа, если эта функция возвращает число больше или равно 398.575, то скорость = 0.
Но что то не то вообще это чушь, не то синтаксис не правильный, хрен его знает, как это условие написать, чтобы заработало...
#3