这是一个我似乎不断遇到的问题。例如,如果我有一个使用jQuery hover()
函数的下拉导航菜单,我快速移动我的鼠标光标然后离开<li>
约10次,则会出现子导航,然后消失10次。 / p>
有没有办法阻止此问题发生?
由于
答案 0 :(得分:7)
是的,使用停止功能!
$(this).stop().animate(...);
或者
$(this).stop().show();
答案 1 :(得分:4)
我们使用Hoverintent作为菜单。在制作动画之前给出了明智的延迟:
答案 2 :(得分:3)
使用stop()
功能清除元素的动画队列:
$(this).stop(true).show();
答案 3 :(得分:1)
嗯,你可以在进入时取消绑定事件,并在退出时再绑定它。当我无法承受重新进入时,我倾向于使用信号量变量。
话虽如此,hover()事件本身可能不是排队,而是动画本身。请注意,您正在进行动画制作(信号量),并且在继续之前不要发出另一个或stop()
正在进行的动画。