document.body.scrollTop为0 怎么解决
时间: 2023-09-09 09:08:49 浏览: 92
`document.body.scrollTop` 在一些浏览器中已经被废弃,现在可以使用 `document.documentElement.scrollTop` 或者 `window.pageYOffset` 来获取滚动条的位置。
如果您的 `document.body.scrollTop` 始终为0,有可能是因为您的body元素没有设置高度,或者您的body元素中没有内容导致无法滚动。您可以尝试在body元素中添加一些元素或者设置一个高度来测试是否可以正常滚动。
如果您的问题还未解决,可以提供更多的信息或者代码,我会尽力帮助您解决问题。
相关问题
vue中使用window.pageYOffset document.documentElement.scrollTop document.body.scrollTop滚动时 值都为0 怎么解决
在 Vue 中,如果您希望获取窗口的滚动位置,可以使用 `window.pageYOffset` 或者 `document.documentElement.scrollTop`,这两个属性在现代浏览器中已经被广泛支持使用。
如果这些属性的值始终为0,可能是因为您的页面内容没有超出窗口的高度,导致无法滚动。您可以尝试在页面中添加更多内容,或者在样式中添加 `overflow-y: scroll` 或 `overflow-y: auto` 来强制显示滚动条。同时,确保您的代码在 Vue 实例的 `mounted()` 或者 `updated()` 生命周期钩子函数中运行,以确保 DOM 元素已经被渲染完毕。
如果您的问题仍未解决,请提供更多的信息或者代码,我会尽力帮助您解决问题。
pageScroll() { let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop scrollTop > 50 ? this.seclectActive = true : this.seclectActive = false }
这段代码是用来实现页面滚动时的操作。函数`pageScroll()`首先获取当前页面滚动的距离,使用`window.pageYOffset`获取滚动距离(兼容大多数浏览器),如果不支持,则使用`document.documentElement.scrollTop`或`document.body.scrollTop`获取。然后通过判断滚动距离是否大于50,来决定是否将`this.seclectActive`设置为true或false。如果滚动距离大于50,`this.seclectActive`会被设置为true,否则为false。
阅读全文