Я знаю, что есть много подобных сообщений, но все же я не добираюсь до кода, который мне нужен.Запретить автоматический прокрутки и прокрутить до div
В принципе, я хочу сделать презентацию при первом прокрутке пользователя. Для этого я хочу предотвратить действие прокрутки по умолчанию и (если оно прокручивается вниз) сделать анимацию для следующего div.
window.scrolledToRed = false
window.scrolledToGreen = false
window.scrollTo = (to, guard) =>
$('html, body').animate({
scrollTop: $(to).offset().top
}, 1000, =>
window[guard] = true
)
window.addEventListener 'wheel', (e) ->
if (e.wheelDelta < 0)
if (!window.scrolledToRed)
scrollTo('.red', 'scrolledToRed')
else if (!window.scrolledToYellow)
scrollTo('.green', 'scrolledToGreen')
Я создал скрипку, который представляет проблему: https://jsfiddle.net/pn6zqgwu/2/
Когда пользователь прокручивает вниз в первый раз, когда я хочу, чтобы взять его к красному DIV и в следующий раз на один зеленый. Ни одно из решений, которые я пробовал, действительно сработало, поскольку оно было «прыжком» и прокруткой туда, где я хочу.
Любая идея, как решить проблему?
Благодаря передовой
проблема то в том, что он не прокручивается с scrollTop:. $ (в) .offset() сверху – hcarreras
я добавил е. preventDefault(), похоже, работает. Вот ссылка: https://jsfiddle.net/jmjb4wt4/ –
Кажется, я не могу прокрутить до зеленого (или снова вверх) после прокрутки до красного div. – hcarreras