オブジェクトの背景を緑色に点滅させてから、既存の色にフェードアウトする、一般的な「色の確認のフラッシュ」機能を作成しようとしています。
したがって、click() でこれを呼び出す 2 つの要素がある場合があります。
li background-color: red
li background-color: black
最初のものをクリックすると、緑から赤にフェードアウトします。最初のものをクリックすると、緑から黒にフェードアウトします。
jQuery ロジック:
クリックイベント:
listItem.each(function(){confirmFlash($(this),$(this).css("backgroundColor"))});
関数:
function confirmFlash(objectToFlash,backgroundColor){
objectToFlash.css("backgroundColor","#84da9a").animate({opacity: 1}, 1000).animate({backgroundColor: backgroundColor}, 500);
}
これはうまくいきます。キャッチ:
上記の LI にも :hover 状態の背景色を指定すると、次のようになります。
li background-color: red
li background-color: black
li:hover background-color: purple
その後、すべてのフェードが緑から紫に変わります。LI をクリックした時点では、背景は確かに紫色であるため、これは理にかなっています。
「非ホバー」CSS クラスの背景色を取得する賢い方法はありますか?
言い換えれば、疑似クラスではなく、LI の現在のクラスに割り当てられている背景色を取得したいということです。
または、ホバーをCSSではなく実装するソリューションですが、jQueryでも実装できますか?