jQuery:以Integer格式获取元素的px位置

kyl*_*lex 12 jquery position

此代码适用于FF,但不适用于IE:

parseInt($('.scroller').css('left');
Run Code Online (Sandbox Code Playgroud)

在FF中它返回0px;

在IE中它返回NaN.

获取元素像素位置的好方法是什么?

<div class="holder">
    <div class="scroller">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

lon*_*day 25

用途offset:

$('.scroller').offset().left;
Run Code Online (Sandbox Code Playgroud)

offset()返回包含属性的对象lefttop,这是相对于在像素中的文件的位置的值.

如果您想要相对于父元素的位置,请position改用.

  • 似乎有些情况下offset()和position()都没有给出所需的值.我有一个相对定位的元素,在我的例子中,offset()和position()都返回相同的值,它与$('element')不同.css('left').这是我需要的css剩余价值.现在我使用parseInt($('.element').css('left').replace('px','')).我怀疑为什么IE阻止了kylex的尝试是因为它最终有'px'.剥离它似乎与IE很好.在这种情况下,有谁知道更好的方法吗? (3认同)