0

ユーザーが別の ul で li に対して mouseOver を実行したときに、ul をドロップダウンとして表示するメニュー システムに取り組んでいます。position を使用してドロップダウンの位置を設定すると思いました (つまり、実際にはメニューのように見えます)。私が欲しいのは、ドロップダウンの左上隅がラッピングリストアイテムの左下隅と同じ場所から始まることです。

残念ながら、ポジショニングはいくつかの異なる方法で失敗します:

  • Firefox では、ドロップダウンが約 -100 25 ピクセルでオフセットされているようです
  • リストの最初のアイテムは、他のアイテムと比較して左側に異なるオフセットがあります
  • IE のオフセットは FF と同じではありません
  • エクスプローラーでポジショニングを繰り返し行うと、毎回異なる位置になります。

効果を確認できるテスト ページを作成しました: http://test.evju.biz/test/test_position.html

4

1 に答える 1

0

jquery.ui.position を使用しないことで解決しました。最終的に使用したコードは次のとおりです。

$(this).find("ul.subnav").first().css({
                left: $(this).position().left + 'px',
                top: ($(this).position().top + $(this).height()) + 'px'
            });
于 2010-04-22T09:10:59.990 に答える