项目用JQuery框架,对IE11以下做了屏蔽处理,所以本文只记录IE11中的fixed问题。
在win10系统下,部分电脑的IE浏览器在向下滑动时,会出现position:fixed的导航块上下轻微抖动的问题,访问淘宝也会出现,那就说明是浏览器的问题。
经过查阅,得到以下js代码,可解决问题:
var isIE=!!window.ActiveXObject || "ActiveXObject" in window;
// 解决部分IE下页面滚动时导航栏闪屏的问题,因为其他地方做IE11以下屏蔽处理,所以这里只判定IE即可。
if(isIE){
$('body').on("mousewheel", function (event) {
event.preventDefault();
var wd = event.originalEvent.wheelDelta;
var csp = window.document.documentElement.scrollTop;
window.scrollTo(0, csp - wd);
});
}
用上述代码后,页面滚动的平滑度降低,就一小段一小段往下展示的感觉,但明显不抖动了。
由此可逆推测,fixed布局抖动是因为部分IE浏览器做的平滑效果或优化不是很连贯,因此fixed布局下会显得抖动。
参考文章: https://blog.csdn.net/yishengyouniabove/article/details/96488187