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



我正在尝试使用 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 元素。因此,带有偏移量的所有内容都可以正常工作,直到我向下滚动 iframe 元素的窗口。但是向下滚动然后调用 offset() 后它可以工作。

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

请尝试执行以下步骤。

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

最新更新