【问题标题】:Jquery UI .position() on fixed element固定元素上的 Jquery UI .position()
【发布时间】:2012-07-16 15:29:32
【问题描述】:

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

这是一个演示:http://jsfiddle.net/lrocksmashtime/MJwdP/

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

【问题讨论】:

    标签: jquery-ui positioning


    【解决方案1】:

    您的代码:

    my: "bottom",
    at: "top",
    

    可以读作:定位“我的”元素底部“在”目标元素顶部

    正确的代码是:

    my: "top",
    at: "bottom",
    

    可以读作:将“我的”元素放在顶部“在”目标元素的底部

    这如您所愿:http://jsfiddle.net/MJwdP/18/

    【讨论】:

    • 感谢您的回复,不敢相信我直到现在才看到它。但是,它并没有解决我最初关于自动碰撞检测的问题。很明显,蓝色框不适合放在顶部。我最初对 .position 的调用会强制碰撞检测将框移动到目标的底部。如果您向下滚动页面,尽管不可见,该框仍位于顶部。我现在意识到这真的不是一个错误,但如果碰撞检测考虑到被定位元素的可见性,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多