我正在尝试使用 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() 后它可以工作。
由于没有共享的小提琴,我假设您的场景。假设您的元素是隐藏的,并且您正在设置其偏移量,然后使其可见。在这种情况下,您的偏移设置将不起作用。
请尝试执行以下步骤。
- 使该元素可见。(也许通过使用element.show())
- 立即设置偏移量。