jQuery и конфликт анимации прокрутки

0

Моя функция работает на 100%, когда я только немного прокручиваю, но когда я просматриваю всю страницу вниз и быстро прокручиваю, моя непрозрачность: 0 занимает больше времени или вообще не работает. Подумайте, почему? Это потому, что моя функция я звоню много раз?

$(window).scroll(function () {
    var TopValue = $(window).scrollTop();
    if (TopValue <= 50) {
        $("div.mouseover > p").css('opacity', 0);
    } else {
        $("div.mouseover > p").animate({
            opacity: '1.0'
        }, 1000);
    }
});
  • 0
    Попробуйте $("div.mouseover > p").stop(true,true).css('opacity', 0);
Теги:

1 ответ

1

Поскольку ваш вызов function происходит несколько раз, вам нужно очистить animation queue перед началом другой animation Пожалуйста, прочтите .stop() для получения дополнительных разъяснений.

Попробуй это,

$(window).scroll(function () {
    var TopValue = $(window).scrollTop();
    if (TopValue <= 50) {
        $("div.mouseover > p").css('opacity', 0);
    } else {
        $("div.mouseover > p").stop().animate({
            opacity: '1.0'
        }, 1000);
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню