我有一个相当宽的 div,它超过了页面的宽度。我希望有一个功能,人们可以将鼠标悬停在 div 上,它会为边距设置动画,以便它移动,你可以看到其余的内容。我已经有一个工作脚本:
var busy = 0;
$('#busy').html(busy);
$("#hover").hover(
//on mouseover
function() {
if(!busy){
busy=1;
$('#busy').html(busy);
$('#tooltip').fadeOut('slow');
$('#slide').animate({
marginLeft: '-3415px' //substracts 184px
}, 15100
);
$('#busy').html(busy);
}
},
//on mouseout
function() {
$('#slide').animate({
marginLeft: '-683px' //substracts 184px
}, 11100, busy =0
);
$('#tooltip').fadeIn('slow');
$('#busy').html(busy);
}
);
但它出错了。动画本身工作得很好,但是如果你在 div 上多次移动鼠标,它会保存所有这些移动,即使用户没有与之交互,它也会在以后继续动画。就像它正在排队所有的鼠标悬停事件。我试图用 'busy' 变量来解决这个问题,但这似乎没有做任何事情。有什么建议么?