クリックされた要素の不透明度を 1 に維持しようとしていますが、クリックされる前に、mouseenter と mouseleave で切り替えます。そのため、要素がクリックされたかどうかを確認する if ステートメントを追加しました。条件は満たされていますが、mouseleave 関数は実行されません。コードは次のとおりです。
$('td').mouseenter(function () {
$(this).fadeTo('fast', 0.99);
});
$('td').mouseleave(function () {
var $opacity = $(this).opacity;
if ($opacity < 1) {
$(this).fadeTo('fast', 0.8);
}
});
$('td').click(function () {
$(this).toggleClass('tdClicked');
});
.tdClicked クラスは、不透明度が 1 の単純なクラスです。
要素にカーソルを合わせると、要素が点灯しますが、マウスを離しても元に戻りません。