0

我有一个在页面加载时可见的元素。

理想世界中发生的事情如下:

如果并且当光标悬停在该元素上然后离开该元素时,该元素将淡出。

这在这种情况下可以正常工作,但是如果光标在页面加载时已经在元素上方并且光标很快从元素上移开,悬停功能并不总是运行 - 尽管如果您将鼠标悬停在元素外它可以正常工作更慢。

$(".myElement").hover(
  function () {
    $(this).fadeIn(250);
  },
  function () {
    $(this).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly
  }
);

问题似乎是,当光标快速移动元素时,页面不会首先记录它曾经在元素上方。

4

1 回答 1

0

使用停止()

尝试这个

$(".myElement").hover(
  function () {
    $(this).stop(true, true).fadeIn(250);
  },
  function () {
     $(this).stop(true, true).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly

});

于 2013-01-31T10:55:30.193 回答