我在下面粘贴了一些代码,这些代码似乎是在mousemove上显示菜单的常用方法。似乎随着鼠标继续移动,超时的持续时间增加。那是怎么回事?有没有理由说明清除工作不起作用?
var timer;
$(document).mousemove(function() {
if (timer) {
clearTimeout(timer);
timer = 0;
}
$('.navi a, a.left, a.right').animate({top:'0px'},'fast');
timer = setTimeout(function() {
$('.navi a, a.left, a.right').animate({top:'50px'},'fast');
}, 1000)
});
答案 0 :(得分:1)
animate()
的每次调用都会排队,所以你在延迟函数中的最后animate()
调用(再次向下移动元素)必须等到所有'up' '动画已完成。
请参阅this fiddle以获得快速解决方法