Вопрос: Я пытаюсь выполнить следующую анимацию: когда страница загружается на мобильном устройстве, я хочу показать div с идентификатором «sub-header», но как только пользователь прокручивает более 50 пикселей вниз по странице, которую я хочу .hide sub-header. Наконец, если пользователь прокручивает вверх 60px в любое время, а на странице я хочу подзаголовок к .ShowПоказать/скрыть заголовок на основе положения прокрутки
Что я вижу на коде ниже: страница скрывает меню, но когда я прокрутку вверх он показывает и скрывает множественным раз после остановки прокрутки.
JQuery:
var newScroll = 0;
var subHeaderPosition = true;
var currentScroll = 0;
$(window).scroll(function() {
currentScroll = $(window).scrollTop();
if ($(window).width() < 779) {
if (currentScroll > 50 && subHeaderPosition) {
console.log("Current Scroll position: " + currentScroll);
console.log("Scroll should hide");
$("#sub-header").hide(300);
subHeaderPosition = false;
newScroll = $(window).scrollTop();
console.log("New Scroll position: " + newScroll);
} else if ((currentScroll - 60) < newScroll && !subHeaderPosition) {
console.log("Scroll position: " + currentScroll);
console.log("Scroll should show Sub-Header");
$("#sub-header").show(300);
subHeaderPosition = true;
newScroll = $(window).scrollTop();
} else {
newScroll = $(window).scrollTop();
}
}
});
UPDATE: После добавления нескольких бревен теперь я могу сказать, что мой newscroll и currentscroll всегда в конечном итоге один и тот же номер, который указывает меня в правильном направлении. Я выложу решение после того, как оно у меня получится, или если кто-нибудь это выяснит, я все уши.
К сожалению, я хочу, чтобы заголовок отображал, запускает ли пользователь прокрутку вверх, а не только в верхней части страницы. – Denoteone