2

Jquery UI の .position() 関数は、スクロール中に固定された要素で壊れているようです。たとえば、ページの上部にある固定要素 (ヘッダーなど) の「中央上部」に新しい要素 (下のデモの青いブロック) を配置しようとしています。.position() の衝突検出により、要素が「中央下部」に反転されると予想していました。最初は機能しますが、誰かがページを途中までスクロールすると、完全に壊れてしまいます。

ここにデモがあります:http://jsfiddle.net/lrocksmashtime/MJwdP/

効果を確認するには、結果ウィンドウをスクロールしていないときに「クリック」をクリックし、少しスクロールしてからもう一度クリックしてみてください。

4

1 に答える 1

6

あなたのコード:

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

次のように読むことができます: "my" 要素の下 "at" ターゲット要素の上に配置します。

正しいコードは次のとおりです。

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

次のように読むことができます: 「my」要素を上に配置し、「at」ターゲット要素の下に配置します。

これは期待どおりに機能します: http://jsfiddle.net/MJwdP/18/

于 2012-10-07T18:38:26.600 に答える