我不確定如何標題這一個。但我有一個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