Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导导航在MS Edge/IE中无法正常工作_Javascript_Css_Twitter Bootstrap_Internet Explorer_Microsoft Edge - Fatal编程技术网

Javascript 引导导航在MS Edge/IE中无法正常工作

Javascript 引导导航在MS Edge/IE中无法正常工作,javascript,css,twitter-bootstrap,internet-explorer,microsoft-edge,Javascript,Css,Twitter Bootstrap,Internet Explorer,Microsoft Edge,我创建了一个标题下带有导航的网站。当滚动浏览导航时,它的位置固定在顶部,颜色也会改变 在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:

我创建了一个标题下带有导航的网站。当滚动浏览导航时,它的位置固定在顶部,颜色也会改变

在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:

为了更好地理解我所做的,我将代码的其余部分放入了代码笔:


为什么这是IE中的一个问题?我能做些什么?

我将更仔细地研究这个问题,看看我们能否确定Microsoft Edge团队需要改进的地方。同时,我能够确认快速去盎司将带来更好的体验

而不是具有以下内容:

$(窗口)。在(“滚动”)上,函数(){
/*这里的逻辑*/
});
请执行以下操作:

var去盎司;
$(窗口)。打开(“滚动”,函数(){
清除超时(去盎司);
解盎司=设置超时(函数(){
/*这里的逻辑*/
}, 50);        
});

同时,我将继续研究此演示。

感谢您的研究。这不是一个完美的解决方案,但肯定已经好得多了。@s4ndm4nn一般来说,您需要非常小心处理
window.onscroll
,因为这些类型的事件每秒可以触发多次。您通常不希望访问DOM,也不希望在每个处理的事件上更新布局。这可能会导致额外的电池消耗、帧丢失等。另外,如果你觉得在你的处境中有所帮助,请考虑接受这个答案。
    if ($(".navbar").offset().top > 320) {
      $(".navbar").addClass("top-nav-invert");
    } else {
      $(".navbar").removeClass("top-nav-invert");
    }