OK、この質問が繰り返されたら申し訳ありませんが、私は本当に答えを理解することができませんでした。
クラス付きのメニューがあります.menuitem > a
。リンクするメニュー項目をクリックすると、paddingBottomが増えます。
そのため、.click
関数とアニメーション関数を使用することができましたが、クラス全体(すべてのメニュー項目)にパディングが追加されました。必要なのは、クリックしたメニューにのみパディングを追加することです。
すべてのメニュー項目(クラス全体)にパディングを行うコード
$(".menuitem" ).click(function() {
$('.mainNav > ul > li > a').animate({paddingBottom:"+=17px"});
});
.menuitem > a
リンク先のメニュー項目をクリックすると、さらに多くのメニューが表示されますpaddingBottom
クリックハンドラー内で、クリックされた特定の.menuitem
要素をで参照できますthis
。したがって、を$(this)
使用すると、jQueryのDOMトラバーサルメソッドを使用して、その要素からアニメーション化する関連要素に移動できます。
アンカーが.menuitem
クリックハンドラーをバインドしている要素の子である場合、そのアンカーへの参照を取得する最も簡単な方法は、次の.find()
メソッドを使用することです。
$( ".menuitem" ).click(function() {
$(this).find("a").animate({paddingBottom:"+=17px"});
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加