繁体   English   中英

Javascript:定位特定的div或元素?

[英]Javascript: target specific div or element?

我想重写以下代码,以使其不获取<body>的高度,而是获取放置该对象以执行该功能的元素的高度:

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;

(或其他高度属性之一

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM