我正在根据您滚动的数量来绘制进度条。我应该使用这两个中的哪一个?
function getScrollValue() {
return ((parseInt(document.body.getBoundingClientRect().top) * -1));
}
要么
function getScrollValue() {
return window.pageYOffset;
}
最佳答案
除了window.pageYOffset
是更专业的API以及用于检测滚动值的更高性能的解决方案之外,例如,如果主体具有一些可抵消的边距顶部,则使用getBoundingClientRect().top
尝试相同的操作可能会产生意外结果。它的位置。
编辑
我包含了以下jsPerf Test,它显示了两种选择之间的性能差异,以及第三种(较旧的)API对它们的不利影响。