這裏是Zi JsFiddle。爲了複製我的問題,您必須將鼠標懸停在名爲'javascript'的鏈接上,然後鼠標移動,然後鼠標移入。如果在動畫完成之前執行此操作,粉色滑動板#subMenu
將通過滑動中途凍結。有沒有辦法來防止這種情況發生?我嘗試了一些.stop()
s,但我真的不希望動畫在您每次mouseenter或離開.navLink
時重新開始。動畫應該從停止的地方開始。換句話說,如果粉色部分向下,並且執行了slideDown(),則粉色不應該消失,然後向下滑動,它應該從它所在的位置向下滑動。jQuery幻燈片和停止問題:動畫元素凍結快速鼠標移動
謝謝!
JS:
$('header#subHeader').hide();
$('.navLink').hover(function() {
if ($(this).children('div').length > 0) {
var subMenu = $(this).find('.subMenu').html();
$('header#subHeader').empty().append('<div>' + subMenu + '</div>').stop().slideDown();
} else {
$('header#subHeader').stop().slideUp();
}
});
$('hgroup:first').on('mouseleave', function(){
$('header#subHeader').slideUp();
});
這撥弄更新爲具有非常大了slideDown面積:http://jsfiddle.net/bJnHH/1/ – sherlock
@BradM'.finish()'完全使事情變得更糟,我不希望它能夠捕捉到這樣的位置。 – sherlock