3 回答
TA贡献1111条经验 获得超0个赞
我不知道你到底想做什么。但是,我认为您可能想尝试一下:https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
Intersection Observer API 提供了一种异步观察目标元素与祖先元素或顶级文档视口相交变化的方法。
TA贡献1772条经验 获得超5个赞
让我给你一些提示:
Element.scrollHeight
返回任何元素的滚动高度。要获取整个页面的高度,请在根<html>
或<body>
元素上使用此方法。window.innerHeight
返回视口(窗口)的高度。
当用户滚动到页面底部时,该scrollY
值将是html.scrollHeight - innerHeight
因为scrollY
是视口的顶部并且scrollHeight
是视口的底部。
剩下的就交给你了。祝你好运!
TA贡献1942条经验 获得超3个赞
我不完全知道这是否是您正在寻找的,但您也许可以将该变量映射到不同的比例?我发现了这个功能:
const scale = (inputY, yRange, xRange) => {
const [xMin, xMax] = xRange;
const [yMin, yMax] = yRange;
const percent = (inputY - yMin) / (yMax - yMin);
const outputX = percent * (xMax - xMin) + xMin;
return outputX;
};
因此,如果您的滚动变量范围是 0 - window.innerHeight 并且您希望它的范围在 0 到 10 之间,则可以使用scale(window.scrollY, [0, window.innerheight], [0, 10]). 这应该有效。
添加回答
举报