xmoonlight, спасибо, извините за тон, просто у меня была ситуация, что событие не отлавливалось, а вы предлагали попробовать то же самое, что у меня и так было в коде
выяснилось, что я отлавливал событие на window,а не на body, как было нужно
RAX7, ааа, всё, получилось, действительно. это меня mousewheel сбили, их я на window вешал.
Да, теперь отрабатывает скролл после остановки кинетики, параллакс пересчитывается. жаль, что с задержкой происходит, а не в реальном времени (т.е. сейчас «дернул экран, он проскроллился, потом уже анимировались слои», а не «дернул экран, просчиталась сила "толчка" и одновременно с браузерной кинетикой начали анимироваться слои»)
меня терзает смутное сомнение что где-то в тач событиях должна появляться эта самая сила толчка, на основе которой можно было бы предсказать кинетику (на сколько проскроллится экран), ведь вроде существуют плагины, отлавливающие свайпы. а такой толчок это практически и есть свайп
Далее вы открываете тач-режим с размером экрана более 500 пикселей и пробуете подвигать страницу горизонтально.
В консоли выскакивают уведомления о touch событиях, но ни одного о scroll событии
Вопрос: что, блин, должно измениться от взятия кода из примера с обращением к элементу, которого у меня в примере НЕ существует, если то же самое событие просто-напросто НЕ ВЫЗЫВАЕТСЯ в моем примере при описанном мною кейсе?
xmoonlight, ВЕРТИКАЛЬНЫЙ — конечно, да. И у меня в примере срабатывает при вертикальной прокрутке и тач и скролл события. ГОРИЗОНТАЛЬНЫЙ же тач-скролл не генерирует событие скролл у меня. Посмотрите мою ссылку и консоль. Точка переключения 500 пикселей. на экранах менее 500 пикселей у меня работают и тач и скролл события, вертикальная прокрутка. выше 500 пикселей переключается в горизонтальный режим и при тач событиях не срабатывает скролл
естественно, сначала я делал параллакс для десктопов и использовал событие скролл. после этого при разработке мобильной версии я и наткнулся на проблему с тач эвентами. при тачах скролл НЕ СРАБАТЫВАЕТ.
Возможно, дело в том ,что у меня горизонтальная прокрутка сделана
По факту, сам параллакс при тачах нужен только для сенсорных устройств с большим экраном (на телефонах будет вертикальная прокрутка без параллакса), но проблема сама по себе интересная и неприятная
да, но событие! КОГДА взять позицию прокрутки и пересчитать расположение параллакс слоёв? стандартный набор touchend, touchstart, touchcancel, touchmove завершается РАНЬШЕ, чем заканчивается плавная кинетическая прокрутка, т.е. по этим событиям я получаю положение ДО окончательной остановки прокрутки.
делать таймер мне кажется ОЧЕНЬ топорным решением, так как длительность кинетики зависит от силы «толчка».
боюсь, вы не так меня поняли. мне не надо «имитировать» кинетику, мне надо вычислить, когда срабатывает стандартная кинетика в мобильных устройствах, посчитать расстояние, на которое она прокручивает страничку, чтобы верно расставить параллакс элементы
выяснилось, что я отлавливал событие на window,а не на body, как было нужно