当游标已经在页面加载元素上时,JQuery会悬停

时间:2013-01-31 10:29:10

标签: jquery hover jquery-hover mouseout

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

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

如果光标悬停在该元素之外,则该元素淡出。

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

$(".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
  }
);

问题似乎是当光标快速移动元素时,页面没有注册它首先在元素上面。

1 个答案:

答案 0 :(得分:0)

使用stop();

试试这个

$(".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

} );