jQueryfadeOut
効果の停止に問題があり、css ファイルで指定された正しい不透明度に戻ります。
マウスが に入ると、css で定義されている 90% の不透明度.item
で.editing
div がすぐに表示されます。これで、フェードアウト中にマウスが離れて再び入ると、不透明度が現在のフェードアウトの不透明度レベルに固定されます。この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);
});