【问题标题】:How to get pageYOffset of a div?如何获取 div 的 pageYOffset?
【发布时间】:2018-07-28 12:55:32
【问题描述】:

我无法获得 div 的 pageYOffset

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

这是一个例子

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

我隐藏了 html 溢出并且只允许一个内容标签是可滚动的。

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

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

【问题讨论】:

  • 我没有看到滚动条页脚/页眉,仅在内容部分
  • @Blauhirn 是的,这就是重点,我只需要在工具栏和页脚之间显示它,但是当我这样做时 pageYOffset 停止工作

标签: javascript vue.js vuejs2


【解决方案1】:

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

另外,v-scroll 似乎依赖于您尚未包含在 codepen 中的外部库。

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

【讨论】:

  • 感谢您的建议
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-11-29
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    相关资源
    最近更新 更多