0

我需要一个按钮,每次点击都能提高我的动画速度。

目前我正在尝试:

function move(){
  var speed = 5000;
  $('img').animate({
    'left':'+=50'
  }, speed, move);
  $('li').click(function(){
    speed -= 4000;
  }); 
};
move();

但这似乎没有任何作用。我能做些什么?

4

1 回答 1

2

您的代码的问题是,即使单击处理程序更改了speed每次调用的值以将其move重置为初始值 5000,也会注册多个单击处理程序,因为该方法move被多次调用

尝试

function move() {
    var speed = 5000;
    function animate(){
        $('img').animate({
            'left': '+=50'
        }, speed, animate);
    }
    animate();
    $('li').click(function () {
        speed -= 4000;
    });
};
move();

演示:小提琴

于 2013-09-22T13:14:14.247 回答