滚动页面闪烁效果

时间:2019-07-04 06:07:38

标签: javascript php drupal scroll

页面在滚动时闪烁,在Firefox中可以正常工作,但在chrome中不能正常工作。我尝试禁用chrome平滑滚动插件,但仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

如果您检查源代码并搜索'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');