>我创建了一个网站,标题下有一个导航。当滚动导航时,它的位置固定在顶部,颜色会发生变化。
在Chrome和Firefox中一切正常,但在Edge或Internet Explorer中,每次用户滚动时导航都会改变颜色。
倒置导航栏的 CSS:
.top-nav-invert {
z-index: 99;
background-color: #fff;
height: 80px;
border-bottom: 1px solid #ededed;
-webkit-box-shadow: 0px 1px 8px 0px rgba(68, 68, 68, 0.07);
box-shadow: 0px 1px 8px 0px rgba(68, 68, 68, 0.07);
}
.top-nav-invert a {
color: #000 !important;
-webkit-transition: all 1s;
transition: all 1s;
}
.JS:
if ($(".navbar").offset().top > 320) {
$(".navbar").addClass("top-nav-invert");
} else {
$(".navbar").removeClass("top-nav-invert");
}
为了更好地理解我做了什么,我将其余代码放入代码笔中:
http://codepen.io/marcomai/pen/OMjgXp
为什么这是IE中的一个问题,我该怎么办?
我将
仔细研究这个问题,看看我们是否可以确定Microsoft Edge团队需要改进的领域。与此同时,我能够确认快速去抖动会带来更好的体验。
而不是有以下内容:
$(window).on("scroll", function () {
/* Logic Here */
});
执行以下操作:
var debounce;
$(window).on("scroll", function () {
clearTimeout( debounce );
debounce = setTimeout(function () {
/* Logic Here */
}, 50);
});
与此同时,我将继续研究这个演示。