繁体   English   中英

如果在jquery .slideDown()动画结束之前未触发Javascript侦听器

[英]Javascript listener not firing if before end of jquery .slideDown() animation

我希望简单!

我遇到的问题是我有一个('itemID')。mouseover,它会为菜单框触发一个jquery下拉动画。 问题是,如果鼠标在slideDown()胺化作用结束之前离开了原始项目(在这种情况下为文本链接),则不会调用.mouseleave函数。

否则效果很好!!

这就是即时通讯使用的内容:(menu14是文本链接,FunctionsMenu3是包含菜单项的隐藏div)

$('#menu14').mouseover(function() {
   $('#FunctionsMenu3').slideDown('fast', function() {
    // Animation complete.
  });
});

$('#FunctionsMenu3').mouseleave(function() {
   $('#FunctionsMenu3').slideUp('fast', function() {
    // Animation complete.
  });
});

在我看来,JS CANT被解雇了,因为它忙于做幻灯片...该网站可以在http://www.impero-classroom-management.com上看到,谢谢!!

好吧,我最后通过不动画下拉菜单,只滑动了动画来解决它。

不是解决办法,但这是我真正能做的!

$('#FunctionsMenu5').mouseleave(function() {
   $('#FunctionsMenu5').slideUp('fast', function() {
    // Animation complete.
  });
});
$('#menu15').mouseover(function() {
   $('#FunctionsMenu5').show();
});

在mouseleave上,尝试.stop()取消当前动画。

$('#menu14').hover(
  function() {
   $('#FunctionsMenu3').slideDown('fast');
  },
  function() {
   $('#FunctionsMenu3').stop().slideUp('fast');
  }
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM