【问题标题】:jQuery: Getting px position of an element in Integer formatjQuery:以整数格式获取元素的 px 位置
【发布时间】:2011-06-06 20:33:12
【问题描述】:

此代码在 FF 中有效,但在 IE 中无效:

parseInt($('.scroller').css('left');

在 FF 中返回 0px;

在 IE 中返回NaN

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

<div class="holder">
    <div class="scroller">
    </div>
</div>

【问题讨论】:

标签: jquery position


【解决方案1】:

使用offset:

$('.scroller').offset().left;

offset() 返回一个包含属性lefttop 的对象,它们是相对于文档的位置值(以像素为单位)。

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

【讨论】:

  • 似乎在某些情况下 offset() 和 position() 都没有给出所需的值。我有一个相对定位的元素,在我的例子中,offset() 和 position() 都返回相同的值,它与 $('element').css('left') 不同。这是我需要的 css left 值。现在我正在使用 parseInt($('.element').css('left').replace('px', ''))。我怀疑 IE 阻止 kylex 尝试的原因是它最后有 'px'。剥离它似乎与 IE 配合得很好。有谁知道在这种情况下有更好的方法来做到这一点?
【解决方案2】:

然而,它总是相对于文档,因此 position()(相对于父级,即持有者)有时会相当准确,有时它们都不准确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2017-04-09
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    相关资源
    最近更新 更多