我正在使用以下简单代码制作下拉菜单:
jQuery("#navigation li").hover(
function(){jQuery(this).children("ul").slideToggle("fast");},
function(){jQuery(this).children("ul").slideToggle("fast");
});
然而,当我快速地将#naviagtion li
多次悬停时,它将保持slideToggling相同的次数。你怎么阻止这样做。
我在代码中弄乱了某种标志(isSliding
)以查看它当前是否正在切换但是当我使用它时它似乎真的很麻烦。 (我在开始滑动之前设置了标志,在回调中我再次将标志设置为false。在我调用函数之前,我只有一个if(isSliding)
语句。
答案 0 :(得分:6)
使用.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");
});