Прибавление чисел (как в счетчике)
Приветствую, есть задачка, которая нуждается в реализации) а именно, сделать четыре блока с динамично меняющимися числами:
1. Число начинается с 4000, каждые 2-3 секунды к нему прибавляется рандомное число от 20 до 100. Число сбрасывается назад до 5000 каждые сутки. 2. Число начинается с 8000, каждую секунду к нему прибавляется рандомное число от 1000 до 20000. Число сбрасывается назад до 10000 каждые сутки. 3. Тут число, которое составляет сумму = число в пункте №2 +0.8%. 4. Число начинается с 50, каждую секунду к нему прибавляется рандомное число от 20 до 100. Не обнуляется. Если поможете - буду благодарен. |
|
Спасибо, это решение. Но вот как пункт 3 реализовать?
|
samdo,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script> document.addEventListener('DOMContentLoaded', ready); function ready() { const options = { increment: 1000, different: 19000, basic: 8000, delay: 0, differentDelay: 1000, elem: document.querySelector('.box') }; const random = (increment, different) => increment + Math.random() * different | 0; const loop = () => { options.elem.innerHTML = options.basic; document.querySelector('.bx').innerHTML = options.basic * 1.008|0; options.basic += random(options.increment, options.different); setTimeout(loop, random(options.delay, options.differentDelay)) } loop() } </script> </head> <body> <div class="box"></div> <div class="bx"></div> </body> </html> |
Спасибо! )
|
А реально сюда обнуление каждые сутки добавить? И чтобы числа не сбрасывалиь после перезагрузки страницы.
|
|
А подскажите как это в Ваш код добавить правильно? И всё... и я отстал)
|
Цитата:
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script> document.addEventListener("DOMContentLoaded", ready); function ready() { const options = { increment: 1000, different: 19000, basic: +JSON.parse(localStorage.getItem("basic") || "8000"), delay: 0, differentDelay: 1000, elem: document.querySelector(".box") }; const random = (increment, different) => increment + Math.random() * different | 0; const loop = () => { const time = +JSON.parse(localStorage.getItem("time") || "0"); const duration = 24 * 60 * 60 * 1000; //сутки const date = new Date; if(time < date.getTime()){ localStorage.setItem("time", date.getTime() + duration); localStorage.setItem("basic", "8000"); options.basic = 8000; }; options.elem.innerHTML = options.basic; document.querySelector(".bx").innerHTML = options.basic * 1.008|0; options.basic += random(options.increment, options.different); localStorage.setItem("basic", options.basic); setTimeout(loop, random(options.delay, options.differentDelay)) } loop() } </script> </head> <body> <div class="box"></div> <div class="bx"></div> </body> </html> |
Еще одной фишки не хватает) Что добавить, чтобы разделить числа на разряды (отбивка тысяч пробелами)?
|
Часовой пояс GMT +3, время: 04:41. |