如何获取div的pageYOffset?

时间:2018-02-17 22:49:16

标签: javascript vue.js vuejs2

我无法得到一个div pageYOffset

我试图摆脱html滚动条,以便它只显示在工具栏和页脚组件之间,而不是显示在它们上面。

以下是

https://codepen.io/anon/pen/xYppdQ

我隐藏了html溢出,只允许内容标记可滚动。

我很可能在那里做错了,但当我尝试使用此方法获取值时,OffsetTop保持为0:

onScroll (e) {
  this.offsetTop = window.getElementsByClassName("scroll-container").pageYOffset
}

2 个答案:

答案 0 :(得分:1)

您的问题不在于pageYOffsetonScroll方法永远不会被执行。首先尝试使用v-on:click="..."更简单的方法。

此外,v-scroll似乎依赖于您未包含在代码中的外部库。

另外,您可能不应该使用.getElementBy..blabla,而是使用Vue.js:<div ref="myDiv">this.offsetTop = this.$refs.myDiv.pageYOffset;。但我不认为pageYOffset是任何dom节点的有效属性。只有window.pageYOffset

答案 1 :(得分:1)

pageYOffset是一个只读的窗口属性,它返回文档已垂直滚动的像素数。和scrollY是完全一样的东西。