我在使用 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 上的速度太快,它永远不会隐藏弹出窗口。就好像隐藏调用被忽略了,因为该节目仍在为幻灯片制作动画。
悬停方法被正确调用:我已经输入了日志代码以确保它被调用。所以,问题是隐藏不会取消显示。有没有办法做到这一点?
谢谢!
更新:
我在 jfiddle 上包含了我的问题示例:http: //jsfiddle.net/Pekf2/
沿着红色条纹运行鼠标。您将看到绿色滑出,但如果您太快(即使使用 stop() 调用)也不会滑回。