所以也许这是少年,但我仍在学习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或其他)。

10-07 18:05