0

在此示例中,如果我快速将鼠标移入、移出、移入、移出,mouseleave 事件仍将触发两次

http://jsfiddle.net/4bsLm/1/

如果光标移回,如何使淡出事件停止触发?

$(document).on("mouseenter","div",function() { $(this).find("span").fadeIn(400);}).on("mouseleave","div",function() {$(this).find("span").delay(700).fadeOut(400);});

(需要备注.on

4

1 回答 1

2

使用stop()方法停止任何当前正在播放的动画。

JSFiddle

$(document).on("mouseenter", "div", function () {
    $(this).find("span").stop().fadeIn(400);
}).on("mouseleave", "div", function () {
    $(this).find("span").stop().delay(700).fadeOut(400);
});
于 2013-07-24T07:22:24.383 回答