Chrome,FF,IE的高度滚动中的Javascript事件(添加样式)

时间:2018-08-21 07:02:57

标签: javascript html css

我正在尝试在特定高度滚动触发事件。 具体来说,您要添加样式,我的代码可以在Chrome浏览器中使用,但不能在IE中使用。 有人可以协助吗?

myID = document.getElementById("subnav");
var myScrollFunc2 = function() {
  var y = window.scrollY;
  if (y >= 150) {
    myID.className = "subnav stick";
  } else {
    myID.className = "subnav unstick";
  }
};
window.addEventListener("scroll", myScrollFunc2);
.subnav {
  width: 100%;
  z-index: 100;
  background-color: #ffffff;
}

.stick {
  top: -62px;
  position: fixed !important;
}

.unstick {
  position: relative !important;
}
<div id="subnav">123</div>

2 个答案:

答案 0 :(得分:0)

IE doesn't support scrollY

您可以改为:

'scrollY' in window ? window.scrollY : document.documentElement.scrollTop

答案 1 :(得分:0)

我遇到了一个关于SO的答案

var scroll = 
    window.scrollY // Modern Way (Chrome, Firefox)
 || window.pageYOffset // (Modern IE, including IE11)
 || document.documentElement.scrollTop // (Old IE, 6,7,8)

贷方转到this SO link