jQuery中的非整数偏移位置
jQuerys偏移函数有时会返回有理数(如12.645613)的顶部或左侧。 我认为顶部和左侧的位置是以像素为单位的,所以应该是整数(没有半像素,或?)。
顶部和左侧位置可以是具有cm,mm,in,pt,pc,em,ex或px或百分数中的任何单位的浮点数。
例:
.someElement { top: 42%; left: 3.14in; }
offset
函数返回翻译为像素的位置,所以很可能是浮点数。 值不是四舍五入。
在给出的例子中,如果父级的高度例如是32像素,则元素的top
值将是32 * 0.42 = 13.44像素。
这是一个古老的问题,但我想我可以在这里为后人发表一个答案。
我也遇到过这个问题,并且我发现(感谢Firebug),问题在于h1和h3标签具有浮点边距(例如,默认情况下Firefox给出<H1>
0.67em 0
边距)。
删除<H1>
和<H3>
标记$(".fixedColumn").eq(0).offset().top
返回一个整数。 您可以为这些标签指定边距,并且应该修复问题。