【问题标题】:Fast Mouseenter/Mouseleave messes up animation快速 Mouseenter/Mouseleave 搞砸动画
【发布时间】:2013-05-31 09:33:51
【问题描述】:

另一个快速鼠标悬停动画问题。

我有 3 个可悬停的 div,它们在悬停时返回 html() 文本 - HTML:

<div id="hoverableDivs_container" class="hoverableDiv">
    <div id="hoverableDiv1" class="hoverableDiv"><p>Hoverable<br>div 1</p></div>
    <div id="hoverableDiv2" class="hoverableDiv"><p>Hoverable<br>div 2</p></div>
    <div id="hoverableDiv3" class="hoverableDiv"><p>Hoverable<br>div 3</p></div>
</div>

<div id="infoBox">
    <p>InfoBOX</p>
    <div id="infoBox_inactive"></div>
    <div id="infoBox_active"></div>
</div>

FIDDLE.

如果我:

  • 快速 mouseenter/mouseleave 可悬停的 div 会变得一团糟。
  • 从一个 div 悬停到另一个它会变得一团糟

我已经尝试了 stop() 以各种可以想象的方式,但无法使其正常工作(我暂时删除了 stop())。

它唯一起作用的方法是在同一个 div 中(进出再进)缓慢地进行 mouseenter/mouseleave。

请帮忙。

佩德罗

【问题讨论】:

    标签: jquery mouseenter mouseleave mousehover


    【解决方案1】:

    在每个动画方法之前使用.stop() 方法。如果在元素上调用它,则当前正在运行的动画(如果有)会立即停止。

    在此处查看Fiddle 的作品。

    要获得更好的优化代码,请尝试删除.stop(),看看它在哪里搞砸了,然后留在需要的地方。为了方便起见,我在动画方法之前添加了.stop

    【讨论】:

    • 还是不行。如果你快速鼠标输入/鼠标离开,最后一个文本和黄色背景仍然存在 - 我希望它回到默认方面(黑色背景和“信息框”文本)。
    • 可以做到,但您必须相应地更改代码。我只关注你遇到的动画问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多