Javascript 如何使用JS计算div的滚动百分比而不是整个页面?

Javascript 如何使用JS计算div的滚动百分比而不是整个页面?,javascript,Javascript,我发现以下代码用于在向下滚动页面时跟踪滚动百分比 document.addEventListener('scroll', function(){ var h = document.documentElement, b = document.body, st = 'scrollTop', sh = 'scrollHeight'; var percent = (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100

我发现以下代码用于在向下滚动页面时跟踪滚动百分比

document.addEventListener('scroll', function(){

var h = document.documentElement, 
    b = document.body,
    st = 'scrollTop',
    sh = 'scrollHeight';

var percent = (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100;

document.getElementById('scroll').textContent = 'scrolled: ' + percent + '%';

});

这显示了整个页面的百分比。如果我只想要特定div的滚动百分比,如本例所示,则向下移动页面时,狗碗如何滚动。

您需要使用
getBoundingClientRect()

document.addEventListener('scroll', function(){

var h = document.documentElement, 
    b = document.body,
    st = 'scrollTop',
    sh = 'scrollHeight';

var percent = (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100;

document.getElementById('scroll').textContent = 'scrolled: ' + percent + '%';

});

如果您需要更多信息,可以阅读以下内容。

您需要使用
getBoundingClientRect()

如果你需要更多的信息,这里有一个你可以阅读的