Встречается на собеседованиях • сегодня

Как делать анимацию progress bar от 0 до 10 секунд через JavaScript

Для анимации progress bar можно использовать requestAnimationFrame или CSS transitions с изменением ширины через JS. Вот простой пример:

javascript
const progressBar = document.querySelector('.progress-bar');
let startTime = null;

function animateProgress(timestamp) {
  if (!startTime) startTime = timestamp;
  const elapsed = timestamp - startTime;
  const progress = Math.min(elapsed / 10000, 1); // 10 секунд = 10000ms
  
  progressBar.style.width = `${progress * 100}%`;
  
  if (progress < 1) {
    requestAnimationFrame(animateProgress);
  }
}

requestAnimationFrame(animateProgress);

text

CSS для прогресс-бара:
```css
.progress-bar {
  height: 20px;
  background: #4caf50;
  width: 0%;
  transition: width 0.1s linear; /* Плавность анимации */
}

Альтернатива - CSS-анимация:

css
@keyframes progress {
  0% { width: 0%; }
  100% { width: 100%; }
}

.progress-bar {
  animation: progress 10s linear forwards;
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы