IE和Edge的问题,可能是滚动平滑

时间:2015-12-10 06:42:30

标签: jquery internet-explorer smooth-scrolling microsoft-edge

我有固定的标题,如果向下滚动动画(按标题的高度),向上滚动时重新出现。

我之前在使用IE浏览器时遇到了标题跳转问题,我使用了这个:

//IE jumping fixed elements fix
if(navigator.userAgent.match(/Trident\/7\./)) { // if IE
    $('body').on("mousewheel", function () {
        //Remove default behavior
        event.preventDefault(); 

        //Scroll without smoothing
        var wheelDelta = event.wheelDelta;
        var currentScrollPosition = window.pageYOffset;
        window.scrollTo(0, currentScrollPosition - wheelDelta);
    });
}

它显示JS错误Object doesn't support property or method 'preventDefault'每个滚动但它以某种方式工作。

但现在使用新的Edge,即使这样也行不通(我试过/Edge\/12./)。一切都适用于Firefox和Chrome。

1 个答案:

答案 0 :(得分:1)

您尝试从.preventDefault调用event,但event不在您的处理程序的参数列表中。因此,event要么在此范围之外定义,要么未定义。不管怎样,这不是你所期待的。

另一个建议(特别是旧版本的IE和旧硬件)将限制此方法,使其每秒运行数十次。

Microsoft Edge应该像Chrome和Firefox一样运行。如果不是,请指导我查看显示问题的资源,我很乐意为团队提交一个错误评估。