我使用以下简单代码制作下拉菜单:
jQuery("#navigation li").hover(
    function(){jQuery(this).children("ul").slideToggle("fast");}, 
    function(){jQuery(this).children("ul").slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)
但是当我#naviagtion li多次快速悬停时,它会保持slideToggling相同的次数.你怎么阻止这样做.
我在代码中弄乱了某种标志(isSliding)以查看它是否正在切换但是当我使用它时它看起来真的很麻烦.(我在开始滑动之前设置了标志,并且在回调中我再次将标志设置为false.在我调用函数之前,我只是有一个if(isSliding)声明.
使用.stop()
http://jsfiddle.net/genesis/8KxCd/4/
jQuery("#navigation li").hover(
function() {
    jQuery(this).children("ul").stop(true, true).slideToggle("fast");
}, function() {
    jQuery(this).children("ul").stop(true, true).slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)