Javascript:特定于目标的div或元素?

Javascript:特定于目标的div或元素?,javascript,html,scroll,target,Javascript,Html,Scroll,Target,我想重写以下代码,这样它就不会得到的高度,而是我放入对象以执行该功能的元素的高度: var img = document.getElementById("logo"); window.onscroll = function() { var bodyHeight = parseInt(getComputedStyle(document.body).height, 10); var scrollLimit = bodyHeight - window.innerHeight; var scrollTo

我想重写以下代码,这样它就不会得到
的高度,而是我放入对象以执行该功能的元素的高度:

var img = document.getElementById("logo");
window.onscroll = function() {
var bodyHeight = parseInt(getComputedStyle(document.body).height, 10);
var scrollLimit = bodyHeight - window.innerHeight;
var scrollTop = document.body.scrollTop;
var scrollPCT = (scrollTop / (scrollLimit / 100)) / 100;
logo.style.top = bodyHeight * scrollPCT - logo.offsetHeight + "px";
};
我如何以ID为目标,而不是
document.body
?我尝试了以下方法,但根本不起作用:

var img = document.getElementById("logo");
window.onscroll = function() {
var body = document.getElementById("container");
var bodyHeight = parseInt(getComputedStyle(document.getElementById("container")).height, 10);
var scrollLimit = bodyHeight - window.innerHeight;
var scrollTop = document.getElementById("container").scrollTop;
var scrollPCT = (scrollTop / (scrollLimit / 100)) / 100;
logo.style.top = bodyHeight * scrollPCT - logo.offsetHeight + "px";
};

理想的效果是反向滚动,当用户向下滚动时,图像将向下移动,而不是像通常那样向上滚动

我猜计算出的高度不起作用?使用
clientHeight
属性:

var bodyHeight = document.getElementById("container").clientHeight;

(或其中一个)

你能解释一下你想要达到什么样的效果吗?显示一些HTML、CSS等?很难用给定的JS复制任何东西,也很难完全理解您的问题。。。您是否尝试检查了scrollPCT的返回值?@Roko所需的效果包括反向滚动,用户向下滚动时图像将向下移动,而不是像通常那样向上移动。虽然上面的代码适用于body,但我只需要针对特定的元素。