要素を上に置いたときに、.fadeIn()
、.fadeOut()
、および.hide()
を正しく動作させることに問題があります。(jQuery).hover()内のフェードイン/アウト要素の問題
私はコンテナを持っているとしましょう。.post-box
.post-box
には、.description
と.quote
という2つのdivが含まれています。 .quote
divは最初は隠されていて、.post-box
が上に乗ると、.hide()
で非表示になる.description
divの代わりにフェードインします。
.post-box
がホバートしたとき、.quote
がフェードアウトし、.description
が再びフェードインします。
$(document).ready(function() {
var description = $('.description');
var quote = $('.quote');
var postBox = $('.post-box');
postBox.hover(function() {
$(this).find(description).clearQueue().stop(true, true).hide(0, function() {
quote.fadeIn(300);
});
}, function() {
$(this).find(quote).clearQueue().stop(true, true).fadeOut(300, function() {
description.fadeIn(300);
});
});
});
1つの問題を除いて、このコンセプトはかなりうまく機能しているようです。すぐに.post-box
にカーソルを合わせてすばやくホバーオーバーしてすぐに上に戻ると、(see example screenshot here)と同時に表示されると.description
のdivが表示されます。
私は、私の機能がどのように設定されているかに基づいて、同時に発砲するのを妨げていると思っていましたが、これが起こるためには何か重要なことを見逃しているに違いありません。
Here is my fiddle so you can see it in action.
誰かが正しい方向に私をリードしていただけますか?
うわー、それは魅力的に機能しました!本当にありがとう!! :) – sky