offsetTop vs. jQuery.offset().top

14 浏览
0 Comments

offsetTop vs. jQuery.offset().top

我读到offsetLeftoffsetTop在所有浏览器中都不能正常工作。据说jQuery.offset()提供了一个抽象来提供正确的跨浏览器值。

我想做的是获取元素被点击的坐标相对于元素左上角的位置。

问题是,在FFX 3.6中,jQuery.offset().top实际上给我返回一个小数值(在IE和Chrome中,这两个值是匹配的)。

这个示例展示了这个问题。如果你点击底部的图片,jQuery.offset().top返回327.5,但offsetTop返回328。

我想认为offset()返回的是正确的值,并且我应该使用它,因为它可以在所有浏览器中工作。然而,人们显然无法点击小数像素。确定真正的偏移量的正确方法是对jQuery返回的偏移量使用Math.round()吗?我应该使用offsetTop,还是完全使用其他方法?

0