【问题标题】:JQuery hover out when cursor already over element on page load当光标已经在页面加载的元素上时,JQuery 悬停
【发布时间】:2013-01-31 10:29:09
【问题描述】:

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

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

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

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

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

问题似乎是当光标快速移动元素时,页面并没有记录它曾经在元素上。

【问题讨论】:

  • 尝试使用stop方法。
  • @undefined - 我将如何使用它?
  • 这里有很多例子! api.jquery.com/stop
  • 试试 mouseEnter & mouseLeave

标签: jquery hover jquery-hover mouseout


【解决方案1】:

使用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

} );

【讨论】:

  • 不高兴...问题似乎是当光标很快移开时,它并没有注册为已经在元素上方。
猜你喜欢
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多