Показать, а затем скрыть div при прокрутке ⇐ Jquery
-
Anonymous
Показать, а затем скрыть div при прокрутке
Я изо всех сил пытаюсь сделать так, чтобы элемент сначала появлялся после прокрутки определенного пикселя вниз, а затем исчезал после того, как такое же количество пикселей прокручивалось в том же направлении. Он также должен исчезнуть, если вернуться выше точки срабатывания, из-за которой он появился, и он также всегда должен быть по центру страницы.
На данный момент моя единственная проблема заключается в том, что элемент не исчезает, когда я продолжаю прокручивать страницу вниз, но он исчезает при прокрутке обратно к началу страницы.
Это код, который я использую. Есть ли быстрый способ заставить элемент снова исчезнуть?
var offsetTop = $("# Second").offset().top; вар isVisible = ложь; вар ScrollThreshold = 100; // Измените это значение по мере необходимости вар ScrollDistance = 0; // Получаем ссылку на элемент, который нужно показать/скрыть вар $showElement = $("#show"); // Вычисляем начальную верхнюю позицию для центрирования элемента вар windowHeight = $(window).height(); вар elementHeight = $showElement.height(); вар topPosition = (windowHeight - elementHeight)/2; // Устанавливаем начальный CSS для центрированного фиксированного элемента $showElement.css({ положение: «фиксированное», сверху: topPosition + «px», слева: «50%», преобразование: "translateX(-50%)", display: "none" // Начало скрыто }); $(окно).scroll(функция() { вар ScrollTop = $(окно).scrollTop(); if (scrollTop > offsetTop + ScrollThreshold && !isVisible) { // Если прокручено на 100 пикселей или более ниже точки смещения и она не видна, сделайте ее видимой $showElement.fadeIn(200); isVisible = правда; ScrollDistance = ScrollTop; // Записываем расстояние прокрутки, на котором оно стало видимым } else if (isVisible && (scrollTop
Я изо всех сил пытаюсь сделать так, чтобы элемент сначала появлялся после прокрутки определенного пикселя вниз, а затем исчезал после того, как такое же количество пикселей прокручивалось в том же направлении. Он также должен исчезнуть, если вернуться выше точки срабатывания, из-за которой он появился, и он также всегда должен быть по центру страницы.
На данный момент моя единственная проблема заключается в том, что элемент не исчезает, когда я продолжаю прокручивать страницу вниз, но он исчезает при прокрутке обратно к началу страницы.
Это код, который я использую. Есть ли быстрый способ заставить элемент снова исчезнуть?
var offsetTop = $("# Second").offset().top; вар isVisible = ложь; вар ScrollThreshold = 100; // Измените это значение по мере необходимости вар ScrollDistance = 0; // Получаем ссылку на элемент, который нужно показать/скрыть вар $showElement = $("#show"); // Вычисляем начальную верхнюю позицию для центрирования элемента вар windowHeight = $(window).height(); вар elementHeight = $showElement.height(); вар topPosition = (windowHeight - elementHeight)/2; // Устанавливаем начальный CSS для центрированного фиксированного элемента $showElement.css({ положение: «фиксированное», сверху: topPosition + «px», слева: «50%», преобразование: "translateX(-50%)", display: "none" // Начало скрыто }); $(окно).scroll(функция() { вар ScrollTop = $(окно).scrollTop(); if (scrollTop > offsetTop + ScrollThreshold && !isVisible) { // Если прокручено на 100 пикселей или более ниже точки смещения и она не видна, сделайте ее видимой $showElement.fadeIn(200); isVisible = правда; ScrollDistance = ScrollTop; // Записываем расстояние прокрутки, на котором оно стало видимым } else if (isVisible && (scrollTop
Мобильная версия