我在屏幕上有一堆不断滚动的对象,每个对象分配一个数字。当您按下其中一个数字时,它将远离屏幕,因此可以向上滚动。当我尝试使用偏移重新分配元素的位置时,它只会消失一秒钟然后继续滚动之前的位置。我认为这是因为当我尝试改变它时,animate()仍在继续,所以它会改变一秒,然后animate将它带回原处。当它处于一个完全不同的函数时,如何覆盖动画?
这是我尝试手动分配的地方:
$(document).ready(function(){
$(document).keyup(function(e){
if(e.which == 48){
$('#foo').offset({top:8, left:-600});
}
});
});
这是动画功能:
$(document).ready(function(){
setInterval(function(){
$('#foo').animate({
left : "+=10"
},{ duration: 200, queue: false });
},200);
}
答案 0 :(得分:1)
动画正在消失它最后使用的东西。如果你设置像Rooster这样的全局变量,你应该可以使用它。尝试这样的事情。如果这不起作用制作一个小提琴然后我可以直接玩它
$(document).ready(function(){
var leftPos = $('#foo').postion().left;
$(document).keyup(function(e){
if(e.which == 48){
leftPos = -600;
$('#foo').offset({top:8, left:leftPos});
}
});
setInterval(function(){
leftPos +=10;
$('#foo').animate({
left : leftPos
},{ duration: 200, queue: false });
},200);
});