2011-12-21 8 views
0

メニューが正しく動作しません。私が去るならば、あなたが置くと#menu liで、position: relativeが所定の位置に、コンソールがすべてのメニュー項目全体で0の左側を記録http://jsfiddle.net/PX9nU/1/CSSポジションでの.positionの使用:相対的な動作が期待通りでない

:このコードを見てください。 position: relativeを削除すると、各アイテムの予想される正しい左の値が記録されます。

サブメニューが正しくフォーマットされるためにはposition: relativeが必要ですが、達成しようとしているアニメーションの場合は正しく出力するためには左の値が必要です。

- 左がposition: relativeで期待値を戻していないのはなぜですか?

- それぞれのアイテムの左の値を取得する別の方法がありますか?

+0

期待値はどういうものですか? position:relative(またはその位置の任意の位置)をtopとleftに設定した場合は、それ以外のときはデフォルトで0に設定されます。指定したリンクでは、要素のleftプロパティまたはtopプロパティを設定しませんでした。 –

+0

.Offset()メソッドを使用してみてください – frenchie

答えて

1

問題はjQueryセレクタです。あなたは$('#menu li .item')で選択しています。これにより、リンク要素が戻されます。 position()を呼び出すと、その親要素内の位置が得られます。囲まれているLIは、どちらの場合も0,0です。私はあなたがこの方法で得ることができる、UL内の包囲LIの位置を望むと思う:

p = $(this).parent().position(); 
+0

ありがとうございます!それが終わり、完璧な意味が今ではあります。タ – TH1981

関連する問題