Как я могу заставить анимацию запускаться снова, избегая повторения кода? jQuery

#jquery #animation #duplicates #setinterval #clearinterval

#jquery #Анимация #дубликаты #setinterval #clearinterval

Вопрос:

Когда первая анимация повторяется, код дублируется.

Вы можете увидеть анимацию, запущенную здесь

мой код выглядит следующим образом: здесь

Я думаю, что ошибка возникает из-за функции clearInterval, потому что она запускает анимацию, когда та, которая воспроизводилась до этого, все еще работает

Спасибо за ваше время.

Ответ №1:

Если я правильно понимаю, то, возможно, вам нужна функция, которая вызывает себя через интервал?

например

 setInterval(animaciones, 1000);

function animaciones(){
    ...
    setInterval(animaciones, 1000);
}
  

если вы хотите отображать следующее изображение каждый раз, когда вы можете сделать что-то вроде:

 joseama.claseBarnners={     
    currentImage=1,
    ...

getNextImagePath:function(){
    var currentImagePath = "img/"   currentImage   ".jpg"
    currentImage = (currentImage % 3)   1; // 1,2,3,1,2,3,1,
    return currentImagePath;
  

Комментарии:

1. У меня нет проблем с отображением следующего изображения, дело в том, что когда анимация 1 заканчивается и после запуска второй, сразу же снова появляется анимация 1, и код внутри div «sliderContainer» дублируется. В resume проблема возникает, когда функция изменяется для выполнения следующей анимации.

2. Что выглядит немного странно, так это то, что у вас определены две функции, называемые animaciones . Один внутри animacionLateral и один внутри animacionOpacidad. Возможно, код путается, какой из них следует вызывать. Не могли бы вы попробовать переименовать эти функции в animaciones1, animaciones2 и объявить их так же, как вы объявили animacionLateral:function() (за исключением ранее в модуле).

3. Большое вам спасибо, и я нашел ошибку. Дело в том, что в функцию был помещен код, и это нарушает все программирование