【问题标题】:stop function on mouseleave jquerymouseleave jquery上的停止功能
【发布时间】:2011-09-09 19:24:33
【问题描述】:

我正在尝试使用 mouseenter 和 mouseleave 来启动和停止彩色动画功能,但是它不会在 mouseleave 上停止...请帮我弄清楚:

A:如果 mouseenter/leave 是正确的调用事件(或者我应该使用 mouseover 还是 hover?)

B:使用 .stop 结束函数的正确结构

<script>
    $(document).ready(function() {
        $("#logo").bind('mouseenter', function() {
            pixelColors() });

        $("#logo").bind('mouseleave', function() {
            pixelColors().stop(true, true); });
    });
</script>

【问题讨论】:

  • 你是说不能绑定鼠标离开事件还是说停止功能不起作用?
  • 让我们看看你的 pixelColors() 函数。
  • .stop() 应该在元素上调用

标签: jquery function mouseevent mouseover


【解决方案1】:

Interstellar_Coder 说得对;您需要在 jquery 对象上调用 stop ;尝试用 jQuery(this) 替换回调函数中的 pixelColors,即 jQuery(this).stop(true, true);

【讨论】:

  • 好的,太好了!我有两个冲突,一个是 InterStellar 在元素上使用 .stop() 的解决方案,并且由于他们看到 pixelColors 脚本的线索,我意识到我仍然有窗口 setTimeout,这与鼠标悬停/离开事件冲突。谢谢大家!我学到了很多:)
  • (这应该是一个新问题吗?)现在我已经让 mouseenter/leave 工作了,只要鼠标悬停在#logo 上,我就需要保持脚本运行。到目前为止,当我们使用 mouseenter 时它只改变一次颜色。
猜你喜欢
  • 1970-01-01
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-13
  • 2012-01-10
相关资源
最近更新 更多