有没有办法在向下滚动时隐藏元素并在向上滚动时再次显示元素?

时间:2019-03-25 16:39:52

标签: javascript show-hide display nonetype displaytag

我有一个blockquote,它的位置是:absolute:以这种方式说出它在哪里。滚动时将其隐藏在另一个div的后面,问题是在某些手机上,blockquote从该div的下方达到峰值。

有没有一种方法可以将blockquote显示:none;滚动超过500像素并放回display:block:向上滚动时是否显示?

1 个答案:

答案 0 :(得分:0)

<script>
window.addEventListener('scroll', function(e) {
  if(window.scrollY>=500){
    document.getElementById("IDOFELEMENTTOHIDE").setAttribute("class", "displayNone ORIGINALCLASSES");
  }else{
    document.getElementById("IDOFELEMENTTOHIDE").setAttribute("class", "displayBlock ORIGINALCLASSES");
  }
});
</script>

将IDOFELEMENTTOHIDE替换为元素id(如果没有ID的话),并用<div id="id"></div>赋予它一个。将ORIGINALCLASSES替换为该元素以前拥有的类,如果没有,则可以安全地删除它。

然后添加它。

<style>
.displayNone{
    display:none;
}
.displayBlock{
    display:block;
}
</style>