Эффект мерцания страницы при прокрутке - PullRequest
1 голос
/ 04 июля 2019

Страница прокручивается при прокрутке, она отлично работает в Firefox, но не в Chrome. Я попытался отключить плагин Chrome Smooth Scroll, но все равно не работает.

1 Ответ

0 голосов
/ 04 июля 2019

Если вы проверите исходный код и выполните поиск 'scroll' , вы найдете следующие привязки событий (неукрашенные и украшенные):

$window.bind('scroll').resize();

$(window).bind('mousewheel DOMMouseScroll', function(event) {
    if (/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())) {
        var delta = event.originalEvent.wheelDelta;
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            event.returnValue = false;
        };
        $("html").stop().animate({
            scrollTop: $("html").scrollTop() + (-delta * 1.7)
        }, 200, 'linear');
    }
});

Изменение размера при прокруткестранная вещь, но вторая привязка определенно бессмысленна и вызывает проблему:

  • каждая крошечная анимация прокрутки будет прервана $("html").stop()
  • и переопределена противоречивой анимацией прокрутки.animate({scrollTop: $("html").scrollTop() + (-delta * 1.7)})

Прежде чем комментировать / удалить этот код, просто отсоедините его от консоли Chrome, чтобы проверить:

jQuery(window).unbind('mousewheel DOMMouseScroll');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...