0

クリックされた要素の不透明度を 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 の単純なクラスです。

要素にカーソルを合わせると、要素が点灯しますが、マウスを離しても元に戻りません。

4

1 に答える 1