0

jQueryfadeOut効果の停止に問題があり、css ファイルで指定された正しい不透明度に戻ります。

マウスが に入ると、css で定義されている 90% の不透明度.item.editingdiv がすぐに表示されます。これで、フェードアウト中にマウスが離れて再び入ると、不透明度が現在のフェードアウトの不透明度レベルに固定されます。このjsFiddleを参照してください

私が見つけたのは、 に電話opacity(100)した後に電話する必要があるということだけですstop()。このQ/Aを参照してください。問題は、css で定義されている 90% にリセットしたいので、これがうまくいかないことです。

JavaScriptで正しい不透明度をハードコーディングせずにこれを行う方法を知っている人はいますか?

HTML

<div class="list">
    <div class="item"><div class="editing">edit</div></div>
    <div class="item"><div class="editing">edit</div></div>
    <div class="item"><div class="editing">edit</div></div>
    <div class="item"><div class="editing">edit</div></div>
</div>

CSS

.editing {
    display: none;
    opacity: 0.9;
    filter: alpha(opacity=90);
}

JavaScript

$(".item").hover(function() {
    // enter
    $(".editing", this).stop();
    $(".editing", this).show();
}, function() {
    // leave
    $(".editing", this).fadeOut(1000);
});
4

1 に答える 1