29.08.2018, 13:58
|
Аспирант
|
|
Регистрация: 29.08.2018
Сообщений: 46
|
|
увеличение чисел
подскажите как сделать анимированное увеличение числа на сайте ?
например 100000000.00 и чтобы оно постоянное увеличивалось, только только не по 0.01, а рандомно по от 0.01 до 0.99 или с определенным интервалом например 0.27, и чтобы в зависимости от увеличения общее число тоже увеличивалось
|
|
29.08.2018, 14:15
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<div id="num">100000000.00</div>
<script>
var rnd =(min, max)=> (Math.random() * (max - min) + min);
(function up(){
num.textContent = (num.textContent*1 + rnd(0.01, 0.99)).toFixed(2);
setTimeout(up,270);
})();
</script>
|
|
30.08.2018, 13:41
|
Аспирант
|
|
Регистрация: 29.08.2018
Сообщений: 46
|
|
круто) спасибо
|
|
30.08.2018, 13:59
|
Аспирант
|
|
Регистрация: 29.08.2018
Сообщений: 46
|
|
не работает, если число другое поставить ( не 100000000.00
|
|
30.08.2018, 14:00
|
Аспирант
|
|
Регистрация: 29.08.2018
Сообщений: 46
|
|
и число будет разделено запятыми 234,345,567.00, хотя бы чтобы менялось до последних 3 чисел
|
|
30.08.2018, 14:04
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<div>234,345,<span id="num">567.00</span></div>
<script>
var rnd =(min, max)=> (Math.random() * (max - min) + min);
(function up(){
num.textContent = (num.textContent*1 + rnd(0.01, 0.99)).toFixed(2);
setTimeout(up,270);
})();
</script>
да это очевидно в JS нельзя так числа записывать
|
|
30.08.2018, 14:28
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<div id="num">234,345,567.00</div>
<script>
var rnd =(min, max)=> (Math.random() * (max - min) + min);
(function up(){
var arr = [];
var value = ((num.textContent.replace(/,/g, '')*1 + rnd(0.01, 0.99)).toFixed(2)+'').split('.');
while (value[0] !== '') {
arr.unshift(value[0].slice(-3));
value[0] = value[0].slice(0, -3);
}
num.textContent = arr.join(',')+'.'+value[1];
setTimeout(up,270);
})();
</script>
|
|
30.08.2018, 14:36
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
javascrip,
<div id="num"></div>
<script>
var n = 234345567;
+function b()
{
n += Math.random() * .98 + .01;
num.textContent = n.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g,',');
setTimeout(b,270)
}()
</script>
Последний раз редактировалось рони, 30.08.2018 в 15:36.
Причина: random
|
|
30.08.2018, 14:41
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
рони, Math.random() + toFixed(2) может периодически выдавать рост на 0.00, что не соответстует условию задачи.)
__________________
29375, 35
|
|
30.08.2018, 15:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
Aetae,
ок! пост №8 исправлен
Последний раз редактировалось рони, 30.08.2018 в 15:37.
|
|
|
|