Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Анимированное увеличение числа (https://javascript.ru/forum/misc/78696-animirovannoe-uvelichenie-chisla.html)

Lefseq 22.10.2019 08:47

Анимированное увеличение числа
 
Здравствуйте. Помогите пожалуйста, сделать так, чтобы ниже приведенный скрипт увеличивал число анимированно (чтобы цифры крутились будто счетчик).

<div class="num">1000</div>


let nums = [1249, 1327, 1632];
let secs = [3, 5, 9];

const delay = sec => new Promise(r => setTimeout(r,sec*1000) );

(async () => {
	for (let i = 0; i < secs.length; i++) {
	    await delay(secs[i]);
	    document.querySelector('.num').textContent = nums[i];
	}
})();

рони 22.10.2019 08:50

Цитата:

Сообщение от Lefseq
сделать так,

лезем в гугл, делаем поиск по форуму, находим с десяток вариантов, на любой вкус с плагином, без плагина, на чистом js.

рони 22.10.2019 09:30

фейковый счётчик с анимацией
 
Lefseq,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
<div class="num">1000</div>
<script>
let nums = [1249, 1327, 1632];
let secs = [3, 5, 9];
let pause = 3000;
const elem = document.querySelector('.num');
const anim = (i, r) => {
  let d = performance.now(),
  from = +elem.textContent,
  to = nums[i],
  duration = secs[i] * 1000;
  requestAnimationFrame( function e(b) {
  b = (b - d) / duration;
  1 <= b && (b = 1);
  let c = from + (to - from) * b | 0;
  elem.innerHTML = c;
  b == 1 && setTimeout(r,pause);
  1 > b && requestAnimationFrame(e)
})
}
const delay = i => new Promise(r => anim(i, r));

(async () => {
	for (let i = 0; i < secs.length; i++) {
	    await delay(i);
	}
})();



</script>
</body>
</html>

Lefseq 22.10.2019 15:14

Цитата:

Сообщение от рони
фейковый счётчик с анимацией

Это не то. Скрипт, который мне нужно доработать, выдает числа через определенный интервал времени. Только нужно теперь добавить анимации.

рони 22.10.2019 15:25

Lefseq,
???

Lefseq 22.10.2019 15:45

рони,
Мне нужно чтобы вот так: https://codepen.io/Mr_Sergo/pen/WNNoYvK?editors=1010

Но появление чисел с анимацией.

Lefseq 22.10.2019 15:46

Цитата:

Сообщение от рони (Сообщение 514371)
лезем в гугл, делаем поиск по форуму, находим с десяток вариантов, на любой вкус с плагином, без плагина, на чистом js.

Гуглил, но пока того, что мне нужно не нашел.

рони 22.10.2019 16:14

Lefseq,
что такое анимация, можно пример?

Lefseq 22.10.2019 16:28

Цитата:

Сообщение от рони (Сообщение 514390)
Lefseq,
что такое анимация, можно пример?

https://codepen.io/anon/pen/wxNXNa?editors=1010

рони 22.10.2019 16:48

Lefseq,
чем анимация из поста #3 отличается от вашего примера?


Часовой пояс GMT +3, время: 05:30.