我有一个固定的标题,如果向下滚动,它会向上动画化(按标题的高度),当向上滚动时会重新出现。
我以前在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);
});
}
它在每次滚动时都显示了Object doesn't support property or method 'preventDefault'
的JS错误,但它在某种程度上是有效的。
但现在有了新的Edge,即使这样也不起作用(我尝试了/Edge/12./
)。Firefox和Chrome的一切都很好用。
您正试图从event
调用.preventDefault
,但event
不在处理程序的参数列表中。因此,event
要么在此范围之外定义,要么未定义。不管怎样,这都不是你所期望的。
另一个建议(特别是对于旧版本的IE和旧硬件)是限制这种方法,使其每秒不会运行几十次。
Microsoft Edge的功能应该像Chrome和Firefox一样。如果不是,请将我引导到显示该问题的资源,我很乐意提交一个bug供团队评估。