3 回答

TA貢獻(xiàn)1111條經(jīng)驗 獲得超0個贊
我不知道你到底想做什么。但是,我認(rèn)為您可能想嘗試一下:https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
Intersection Observer API 提供了一種異步觀察目標(biāo)元素與祖先元素或頂級文檔視口相交變化的方法。

TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊
讓我給你一些提示:
Element.scrollHeight
返回任何元素的滾動高度。要獲取整個頁面的高度,請在根<html>
或<body>
元素上使用此方法。window.innerHeight
返回視口(窗口)的高度。
當(dāng)用戶滾動到頁面底部時,該scrollY
值將是html.scrollHeight - innerHeight
因為scrollY
是視口的頂部并且scrollHeight
是視口的底部。
剩下的就交給你了。祝你好運!

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊
我不完全知道這是否是您正在尋找的,但您也許可以將該變量映射到不同的比例?我發(fā)現(xiàn)了這個功能:
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]). 這應(yīng)該有效。
添加回答
舉報