设置顶部和左侧的偏移量()

时间:2015-04-30 09:33:45

标签: javascript jquery

我正在尝试使用offset()定位元素,但我不确定发生了什么: 这是默认的偏移位置:

    element.offset().top
    ‌770
    element.offset().left
    ‌1822.796875

然后我尝试手动设置

element.offset({top: 674, left: 1722 })

输出:

element.offset().top
‌-1341
element.offset().left
 1722

顶部位置是-1341?然后我尝试设置顶级属性:

element.offset({top:674})
element.offset().top
‌674

这有效吗?发生了什么,为什么我不能同时设置这两个属性?

更新:我只是认为这可能很重要:页面上还有一个带有滚动条的iframe元素。因此,使用offfset的所有内容都可以正常工作,直到我向下滚动iframe元素的窗口。但是在向下滚动然后调用offset()之后就可以了。

1 个答案:

答案 0 :(得分:0)

由于没有共享小提琴,我假设您的情景。 假设您的元素被隐藏,您正在设置其偏移量,然后将其设置为可见。在这种情况下,您的偏移设置将不起作用。

尝试按照以下步骤操作。

  1. 使该元素可见。 (也许通过使用element.show())
  2. 现在设置偏移。