увеличение чисел
подскажите как сделать анимированное увеличение числа на сайте ?
например 100000000.00 и чтобы оно постоянное увеличивалось, только только не по 0.01, а рандомно по от 0.01 до 0.99 или с определенным интервалом например 0.27, и чтобы в зависимости от увеличения общее число тоже увеличивалось |
<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>
|
круто) спасибо
|
не работает, если число другое поставить ( не 100000000.00
|
и число будет разделено запятыми 234,345,567.00, хотя бы чтобы менялось до последних 3 чисел
|
<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 нельзя так числа записывать |
<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>
|
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>
|
рони, Math.random() + toFixed(2) может периодически выдавать рост на 0.00, что не соответстует условию задачи.)
|
Aetae,
:) ок! пост №8 исправлен |
спасибо ) а можно сделать задержку еще, например прибавляется, потом раз на пару секунд остановилось, и потом снова началось?)
|
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, Math.random() > .2 ? 270 : 2000)
}()
</script>
|
setTimeout это через какое время меняется, а Math.random это что?
а как сделать, чтобы менялось по минимум 50000 и максимум 1000000? |
javascrip,
<div id="slider"></div>
<div id="num"></div>
<script>
var n = 234345567;
+function b()
{
n += Math.random() * (1000000 - 50000) + 50000;
num.textContent = n.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g,',');
setTimeout(b, Math.random() > .2 ? 270 : 2000)
}()
</script>
|
спасибо, а можно сделать чтобы последние 2 цифры не менялись, всегда нули были?
|
<div id="slider"></div>
<div id="num"></div>
<script>
var n = 234345567;
+function b()
{
n += Math.random() * (1000000 - 50000) + 50000;
n = Math.round(n);
num.textContent = n.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g,',');
setTimeout(b, Math.random() * 2000)
}()
</script>
|
спасибо
|
| Часовой пояс GMT +3, время: 13:59. |