我必须修复一个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的值设置为等于它所需的实际绝对位置,而不知道这个值是什么?
答案 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
}