Увеличивайте скорость animate () с каждым кликом ()

0

Мне нужна кнопка, которая будет увеличивать скорость моей анимации при каждом нажатии.

На данный момент я пытаюсь:

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

Но это ничего не делает. Что я могу сделать?

Теги:
jquery-animate

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();

Демо: скрипка

  • 0
    Это останавливает анимацию.
  • 0
    @sanjaypoyzer это потому, что после второго щелчка вы уменьшаете 4000, скорость становится отрицательным значением
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню