所以我設法爲菜單創建了一個setTimout slideUp/Down功能,該功能非常棒 - 但在某些情況下,當用戶將鼠標懸停在鏈接上並通過其子鏈接快速滑動下來 - 我知道這個問題很典型,但我嘗試過不同的事情失敗。jQuery幻燈片菜單快速鼠標懸停時的抖動行爲
這裏的工作演示 - 你可以看到,如果你的鼠標在鏈接的功能發生螺母 http://jsfiddle.net/eA2HL/2/
jQuery('.nav.mainmenu > li').each(function() {
var t = null;
var $this = jQuery(this);
var result = jQuery('#result');
$this.hover(function() {
t = setTimeout(function() {
if($this.find('ul').length > 0) {
result.slideDown(200, function() {
if($this.is(':visible')) {
$this.find('ul').show();
}
});
}
t = null;
}, 300);
}, function() {
if (t) {
clearTimeout(t);
t = null;
} else {
$this.find('ul').hide(0);
result.slideUp(333, function() {
$this.find('ul').hide(0);
});
}
});
});
重新編輯我的答案,因爲一個問題出現所指出的@Geeo – 2012-07-11 16:04:51