Jquery ui 固定元素上的Jquery UI.position()

Jquery ui 固定元素上的Jquery UI.position(),jquery-ui,positioning,Jquery Ui,Positioning,Jquery UI的.position()函数在滚动时固定的元素上似乎已损坏。例如,我试图将一个新元素(下面演示中的蓝色块)放置在页面顶部固定元素的“中心顶部”(如页眉)。我预计.position()中的碰撞检测将使元素翻转到“中间-底部”。它第一次工作,但如果有人向下滚动页面的一部分,它就完全坏了 下面是一个演示: 若要查看效果,请在未滚动结果窗口时尝试同时单击“单击”,然后在滚动一点后再次单击它。您的代码: my: "bottom", at: "top", 可以理解为:将“我的”元素底部放

Jquery UI的.position()函数在滚动时固定的元素上似乎已损坏。例如,我试图将一个新元素(下面演示中的蓝色块)放置在页面顶部固定元素的“中心顶部”(如页眉)。我预计.position()中的碰撞检测将使元素翻转到“中间-底部”。它第一次工作,但如果有人向下滚动页面的一部分,它就完全坏了

下面是一个演示:

若要查看效果,请在未滚动结果窗口时尝试同时单击“单击”,然后在滚动一点后再次单击它。

您的代码:

my: "bottom",
at: "top",
可以理解为:将“我的”元素底部放置在“目标元素顶部”

正确的代码是:

my: "top",
at: "bottom",
可以理解为:将“我的”元素顶部放置在“目标元素底部”


正如您所期望的那样:

我感谢您的回复,真不敢相信我直到现在才看到它。然而,它并没有解决我最初关于自动碰撞检测的问题。很明显,蓝色的盒子不适合放在顶部。我对.position的初始调用强制碰撞检测将长方体移动到目标的底部。如果向下滚动页面,框将位于顶部,尽管不可见。我现在意识到这其实不是一个bug,但是如果碰撞检测考虑到所定位元素的可见性,那就更好了。