所以也许这是少年,但我仍在学习Jquery。我有几个DIV(绝对定位为50x50px),此代码使它们在屏幕上移动。
我要这样做,因此如果您单击绿色框,则会缩短间隔,从而加快移动速度。显然我在这里做错了,我只是不确定。
$(document).ready(function(){
var greenSpeed = 300;
var redSpeed = 300;
var redLeft = $('#red').offset().left;
setInterval(function() {
$('#red').css('left', ++redLeft);
}, redSpeed);
var greenLeft = $('#green').offset().left;
setInterval(function() {
$('#green').css('left', ++greenLeft);
}, greenSpeed);
$('#green').click(function() {--greenSpeed});
});
最佳答案
在您启动计时器之后,您对计时器间隔的更新将无效。也许您应该保持计时器间隔恒定,然后改变增量的大小,而不是总是只向位置加1。
也就是说,“ redSpeed”和“ greenSpeed”将从1开始,然后将每次迭代中的值添加到“ redLeft”或“ greenLeft”。点击应将“速度”变量简单地增加1(或2或其他)。