Как мне заставить этот JavaScript повторяться

#javascript

#javascript

Вопрос:

 var progress = document.querySelector('.progress-done');

setTimeout(() => {
progress.style.width = progress.getAttribute('data-done')   '%';
progress.style.opacity = 1;
}, 500)
 

Я создал индикатор выполнения. Я хочу, чтобы он повторялся с тем же селектором и тем же атрибутом. Как бы я это сделал?

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

1.Вам нужно использовать setInterval вместо setTimeout developer.mozilla.org/en-US/docs/Web/API /… и с тобой покончено.

2. Пожалуйста, добавьте весь код, чтобы мы могли его воспроизвести.

Ответ №1:

Решение

Вы должны использовать setIntervall() вместо setTimeout .

Разница

Разница между этими двумя заключается в

  • setTimeout позволяет нам запускать функцию один раз по истечении заданного интервала времени.
  • setInterval позволяет нам запускать функцию повторно, начиная с интервала времени, а затем непрерывно повторять с этим интервалом.

Пример

x — это то, как часто он должен повторяться в миллисекундах

 setIntervall(() => {
  progress.style.width = progress.getAttribute('data-done')   '%';
  progress.style.opacity = 1;
}, x);
 

Дополнительную информацию вы можете найти здесь

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

1. Ответы должны быть автономными. Включите соответствующие части ссылки в сам ответ . Ответы только для ссылок менее полезны.

2. хорошо, я обновлю его. Спасибо за совет

Ответ №2:

Измените setTimeout на setInterval

 setInterval(() => {
progress.style.width = progress.getAttribute('data-done')   '%';
progress.style.opacity = 1;
}, 500)