@maxprof
Студент

Доработать функцию?

Здравствуйте, помогите разобраться раз и навсегда)
Есть функция. При скроле появляется кнопка "На верх". Как сделать, что-бы при скроле уже снизу наверх эта кнопка пропадала. То есть сверху вниз - есть. Снизу в вверх - нет.
// Кнопка на верх
var top_show = 500; // В каком положении полосы прокрутки начинать показ кнопки "Наверх"
var delay = 1000; // Задержка прокрутки
$(document).ready(function() {
$(window).scroll(function () { // При прокрутке попадаем в эту функцию
/* В зависимости от положения полосы прокрукти и значения top_show, скрываем или открываем кнопку "Наверх" */
if ($(this).scrollTop() > top_show) $('#back').css("display","block");
if ($(this).scrollTop() > top_show) $('#show').fadeIn();
});
if ($(this).scrollTop() < top_show) $('#back').fadeOut();
$('#back').click(function () { // При клике по кнопке "Наверх" попадаем в эту функцию
/* Плавная прокрутка наверх */
$('body, html').animate({
scrollTop: 0
}, delay);
});
});
});

jsfiddle.net/ukyjL2s6
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
У вас ошибки в коде. Исправленный вариант:
var top_show = 500; // В каком положении полосы прокрутки начинать показ кнопки "Наверх"
var time = 1000; // Скорость прокрутки

$(document).ready(function () {
    $(window).scroll(function () {
        if ($(this).scrollTop() > top_show) {
            $('#back').css("display", "block");
            $('#show').fadeIn();
        }
    });
    if ($(this).scrollTop() < top_show) $('#back').fadeOut();
    $('#back').click(function () {
        $('body, html').animate({
            scrollTop: 0
        }, time);
    });
});
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы