【问题标题】:jQuery Stop AnimationjQuery 停止动画
【发布时间】:2011-07-17 10:59:51
【问题描述】:

我有一个带有 jQ​​uery 动画的菜单栏。上面有滑动图像效果。当您将鼠标悬停在每个项目上时,图像会发生变化,当您将鼠标悬停在整个菜单栏之外时,它会更改为默认菜单栏。

问题:但是,如果您在当前活动动画完成之前将鼠标悬停在整个菜单栏之外,它不会将上述图像更改为默认图像,并且您将被卡在另一个图像上,直到您再次缓慢地将鼠标移出.这种情况经常发生,并导致动画的方向完全混乱。

当我将鼠标移出整个菜单时,我需要一种方法来使用 jQuery 在中间停止所有其他动画。因此,当您的鼠标离开整个区域时,取消所有动画并返回默认动画。

我的 JS 文件被缩小了,但是你可以看一下这里: http://designsweeter.com/live/bcmedical/wp-content/themes/designsweeter/scripts/menu.js

美化JS: http://designsweeter.com/live/bcmedical/prettymenu.js

【问题讨论】:

  • 能否提供未缩小的相关代码。恐怕我们对此无能为力。
  • 我没有。 HD 我的备份失败了。我保留了我的音乐、编辑友好的 png 和 psd 文件等的备份。一切都消失了。 :/ 没有 jQuery 代码来停止当前动画吗?
  • 不太确定 JsBeautifier 的效果如何,但我已经完成了代码。
  • +300 对于任何可以阅读缩小代码的人

标签: javascript mouseover


【解决方案1】:

无法给出具体答案会导致您的代码非常混乱,但请尝试包含此回调。

jQuery('ul.your-menu').mouseout(function() {
    jQuery(this + ' li').stop(true, true).animate(*YOUR CODE HERE - to return to default image*);
}

您需要替换选择器和 .animate 代码以匹配您的具体情况。

希望这会有所帮助!

【讨论】:

  • 在第二行中,您可能想要使用子函数,而不是像我一样附加到 'this' 变量。
  • 我很惊讶,您在第一次尝试时就使用了我糟糕的代码。 (顺便说一句对不起)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多