如何在JavaScript中设置元素的style.top属性?

时间:2018-02-14 09:28:33

标签: javascript css

我必须修复一个JavaScript源代码,它根据一个名为index的函数的整数参数来设置div元素的style.top属性,如下所示:

div.style.top = (index * 22 + 2)+"px";

对于索引(20, 21, 22,.... 53, 54,...)的较大值,div.style.top的值不再准确,即它变得太大,而对于小值(即index < 10)div.style的值.top这样计算就可以了。 我的想法是使用已经存在的名为复选框的HTML元素,它在视觉上是正确对齐的,并采用它的style.top值:

div.style.top = checkbox.style.top

但是没有定义checkbox.style.top,尽管HTML页面上的元素复选框正确显示。

有没有办法将checkbox.style.top的值设置为等于它所需的实际绝对位置,而不知道这个值是什么?

1 个答案:

答案 0 :(得分:1)

使用element.offsetTop;(每个MDN):

var d = document.getElementById("div1");
var topPos = d.offsetTop;

if (topPos > 10) {
  // object is offset more
  // than 10 pixels from its parent
}