JQueryの表示と非表示に問題があります。要素にカーソルを合わせると、別の要素が右側に飛び出すのを表示したいと思います。私は次のコードでそれを管理しました:
var actionHoverInListener = function () {
$(this).children('.pop-out').show("slide", { direction:"left" }, 100);
};
var actionHoverOutListener = function () {
$(this).children('.pop-out').hide("slide", { direction:"left" }, 100);
};
// Add a hover listener for actions
$(".magic").hover(
actionHoverInListener, actionHoverOutListener
);
これは問題なく動作しますが、問題は速度です。「魔法の」divにすばやくカーソルを合わせたり外したりすると、ポップアウトが非表示になることはありません。ショーがまだスライドをアニメーション化しているため、hide呼び出しが無視されているかのようです。
ホバーアウトメソッドが正しく呼び出されています。呼び出されていることを確認するために、ログコードを挿入しました。したがって、問題は、非表示がショーをキャンセルしないことです。これを行う方法はありますか?
ありがとう!
アップデート:
私はjfiddleに私の問題の例を含めました:http://jsfiddle.net/Pekf2/
赤いストライプの下でマウスを動かします。緑色のスライドが表示されますが、速すぎる場合はスライドして戻りません(stop()呼び出しを使用した場合でも)。