@kornilov-s

Какой скрипт выводит содержание div только при определённой скорости скролла?

Нужно такое решение:

Пользователь заходит на страницу и скролит.
В зависимости от скорости скролла на определённом участке, выводить то или иное содержание в определённом месте страницы.

В какую сторону копать?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
Можно попробовать в момент скролла записать положение требуемого элемента и запустить таймер, по прошествии которого проверить на сколько сильно изменилось положение этого элемента. Следовательно чем больше изменение - тем выше скорость скролла.

Абстрактный пример:

const speedControlArea = document.querySelector('[scroll-speed-control]')
const maxSpeedOffset = 300
let controlAreaOffset = 0
let scrollSpeedTimeout

document.body.addEventListener('scroll', e => {
		controlAreaOffset = speedControlArea.scrollTop
		
		clearTimeout(scrollSpeedTimeout)

		scrollSpeedTimeout = setTimeout(() => {
			if (controlAreaOffset - speedControlArea.scrollTop > maxSpeedOffset ) {
				alert(1)
			} else {
				alert(2)
			}
		}, 300)
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы