我不确定如何标题这一个。但我有一个mouseenter/mouseleave行为,分别向上和向下滑动菜单。除非用户多次快速地将鼠标移入和移出元素,否则它的效果非常好。然后,所有的动画被激发,菜单“bezerk”,并继续动画。mouseenter/mouseleave animation chain halt
我想要的是解除mouseenter事件,直到mouseleave事件完成。我尝试了几种不同的方法,包括stop()和stopPropogation(),但它没有奏效。
我得到了这段代码的工作,但它似乎并不“正确”给我。
function add_menu_listener(menu, affected){
$j(menu).mouseenter(function(e){
$j(menu).unbind('mouseenter');
$j(menu + " > ul.links").slideDown();
$j(affected).attr('src', "/images/down_arrow_menu.png");
}).mouseleave(function(e){
$j(menu + " > ul.links").slideUp(500, function(){
add_menu_listener(menu, affected);
});
$j(affected).attr('src', "/images/right_arrow_menu.png");
});
}
反正有你给我们带来的jsfiddle或jsbin链接? – 2011-05-13 17:21:29
希望这个问题可以帮助你:) http://stackoverflow.com/questions/4283674/jquery-mouseenter-mouseleave-html-swap-issue – diEcho 2011-05-13 17:26:40
@oscar这里的链接:http://jsfiddle.net/TBxgP/ – brycemcd 2011-05-13 17:30:47