2011-01-07 50 views
7

jQuerys偏移量函数有时会返回顶部或左侧的有理数(如12.645613)。我认为顶部和左侧的位置是以像素为单位的,所以应该是整数(没有半像素,或?)。jQuery中的非整数偏移位置

+1

真的吗?你能举一个例子吗? – SLaks 2011-01-07 14:32:03

+0

什么函数返回这样一个数字? – 2011-01-07 14:32:59

回答

5

顶部和左侧位置可以是具有cm,mm,in,pt,pc,em,ex或px或百分比中的任何一个的浮点数。

实施例:

.someElement { top: 42%; left: 3.14in; } 

offset函数返回翻译成像素位置,使得能够很好地是浮点数。值不是四舍五入。

用给出的例子,如果父级的高度例如是32像素,则该元素的值将是32 * 0.42 = 13.44像素。

-1

这是一个古老的问题,但我想我可以在这里发表一个答案,为后人。

我也有这个问题,我发现(感谢Firebug)问题在于,h1和h3标签有浮点边距(例如,默认情况下,Firefox给出<H1> a 0.67em 0 margin)。

当您删除<H1><H3>标签$(".fixedColumn").eq(0).offset().top返回一个整数。您可以为这些标签指定边距,并且应该修复问题。