Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Движение с не линейным ускорением. (https://javascript.ru/forum/misc/40463-dvizhenie-s-ne-linejjnym-uskoreniem.html)

Jmunb 06.08.2013 23:04

Движение с не линейным ускорением.
 
Доброго времени суток Уважаемые форумчане.

Есть задач, повесить на сайт в машинки, расположенных параллельно контенту, которые будут двигаться как бы по кругу(ехать с верху экрана в низ а потом сново выезжать с низу). При этом они должны двигаться с ускорением/замедлением и и это ускорение должно быть разное для разных машинок, тоесть текущая скорость больше то у одной машинки то у другой. Их движение должно зависеть от позиции скролла. То есть крутим скролл - машинки едут, остановились и они стоят.

пробовал рассчитывать позицию машинки по вот такой формуле:
(windowHeight - ((scrollTop*speed)%windowHeight)*(1 + 400/windowHeight))

где windowHeight - высота окна
scrollTop - позиция скрола
speed - коэфициент ускорения
(1 + 400/windowHeight) - тут 400 это высота изображения машинки, считаем коэфициент увеличения координаты машинки, чтобы она выезжала снизу и уезжала за верхний край экрана.

при speed равном 1 все хорошо и машинки движутся вместе со скролом, но если ставишь разные скорости разным машинкам то они начинают дергатся=(

В общем не жду готовых решений(хотя был бы очень рад:) ), но надеюсь что поможете взглянуть на проблему под другим углом.

ksa 07.08.2013 11:40

Цитата:

Сообщение от Jmunb
надеюсь что поможете взглянуть на проблему под другим углом

Как вариант отделить движение машин от скорости самого скрола...
Если машинки позиционировать как
position: fixed;

Они будут "ехать" просто при скролировании... Если добавить им "собственное движение" - получим некое "наложение", которое зависит еще и от скрола.


Часовой пояс GMT +3, время: 17:16.