私はこのコードを持っています
$('#uiAdminPanelMenu li a').hover( function(){
$(this).css('background-color', '#D3E1FA';
},
function(){
$(this).css('background-color', '#F4F4F4');
});
リンクの背景色を変更しますが、フェード効果のようにゆっくりと変更したいのですが、この場合は。
CSS3トランジションでも同じことができます。結果はほぼ同じになります。
#uiAdminPanelMenu li a {
background-color: F4F4F4;
-webkit-transition: background-color 0.4s ease;
-moz-transition: background-color 0.4s ease;
-o-transition: background-color 0.4s ease;
transition: background-color 0.4s ease;
}
#uiAdminPanelMenu li a:hover {
background-color: D3E1FA;
}
animate()
を使用したいが、 Color Plugin for jQuery も必要です。
Colorプラグインが含まれていると、次のコードがうまく機能します。
$('#uiAdminPanelMenu li a').hover( function(){
$(this).animate({'background-color': '#D3E1FA'}, 'slow');
},
function(){
$(this).animate({'background-color': '#F4F4F4'}, 'slow');
});
この質問に答えるのは非常に遅いかもしれませんが、それでも私のために機能する代替ソリューションを提供したかったのです。 (以前に提供された答えはどちらも機能します)。私はCSSアニメーションを使用しましたが、他のいくつかのケースでもjquery animateよりもうまく機能しました。以下を試すことができます-
// 'bcolor'は後で定義されるアニメーションキーフレーム名です
#uiAdminPanelMenu li a:hover {
-webkit-animation-name: bcolor;
-webkit-animation-duration: 1s;
-webkit-animation-fill-mode: forwards;
-moz-animation-name: bcolor;
-moz-animation-duration: 1s;
-moz-animation-fill-mode: forwards;
animation-name: bcolor;
animation-duration: 1s;
animation-fill-mode: forwards;
}
@-webkit-keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}
@-moz-keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}
@keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}