こんにちは私は埋め込みにアニメーションを持っているリンクのリストのこのコードを使用しています。そのパディングを維持し、元の位置に戻ってアニメーション化しないために、クリックしたときに欲しかった。私が理解していないことは2つのことです。 "if (!$(this)
"そのコードの部分と、どのリンクで現在のクラスを持っていないときは、どのように見つけるのですか?本当にありがとう!誰かが私にこのコードを説明できますか?
$(function() {
$('#secondary_content_what_we_do li a').hover(function() {
if (!$(this).hasClass("current")) {
$(this).stop().animate({
"paddingLeft": "10px"
}, 400).addClass('column_hover');
}
}, function() {
if (!$(this).hasClass("current")) {
$(this).stop().animate({
"paddingLeft": "0px"
}, 'slow').removeClass('column_hover');
}
});
$('#secondary_content_what_we_do a').click(function() {
$('a').removeClass('column_active').removeClass("current");
$(this).addClass('column_active').addClass("current");
$('#secondary_content_what_we_do li a').trigger('mouseleave');
var url = $(this).attr('href');
$('#loading_content').hide().load(url).fadeIn(1000);
return false;
});
})
私はコメント傾ける何らかの理由でUPDATE 。私は今理解していますが、私は自分のCSSにクラスを持っていないので、その行がどのように役立つか分かりません。
クリックすると 'current'クラスが' anchor'に追加されます: '$(this).addClass( 'column_active')。addClass(" current ");'。あなたがクラスのCSSルールを宣言していないかどうかは関係ありません.jQueryはそれを使って要素の状態を特定して追跡しています。したがって、要素の上にカーソルを置くと、コードは、その要素がクリックされた最後の要素であるかどうかを識別し、それに応じて動作します。 – fearofawhackplanet