javascript - 在给定百分比的情况下滚动到网页上的特定点
问题描述
我正在使用以下函数来计算并保存我已滚动网页的百分比:
const getPercentRead = () => {
const h = document.documentElement,
b = document.body,
st = "scrollTop",
sh = "scrollHeight";
return ((h[st] || b[st]) / ((h[sh] || b[sh]) - h.clientHeight)) * 100;
}
刷新页面后,我想用这个函数的输出和当前窗口高度来滚动自己到上次保存的位置。
这是我目前的尝试:
const scrolled = (percentRead / windowHeight) * 100;
window.scrollTo(0, scrolled);
但是,这并没有将我带到正确的滚动位置。我将不胜感激您对此提供的任何帮助。
谢谢!
解决方案
如果您不需要使用百分比,则此解决方案将起作用。
保存此值:
var x = window.pageYOffset;
然后滚动到它:
window.scrollTo(0, x);
推荐阅读
- html - 使用本地存储在页面刷新时加载增量和减量输入值
- swift - 确保在启动共享表以共享图像之前渲染图像?
- gtk - 为什么在一个 GTK 3 UI 文件中有多个模板定义会引发错误?
- python - 如何使用 python 从 DataCamp 导出数据?
- javascript - 需要将 http 站点加载为 https 的站点的即时帮助:
- c++ - 即使在将大数组移动到堆之后,C++ 未知堆栈溢出
- google-cloud-platform - 使用 Node.js 的 Google Cloud App Engine 任务清除队列
- python - 我将如何使用美丽的汤从这个网站上抓取数据?
- javascript - 如果在菜单外按下该键,如何防止键绑定功能运行?
- python - 从 shopify prodcts api 获取特定字段