Счетчик заказов в день
Подскажите пожалуйста, как реализовать простой скрипт, который с начала суток будет рандомно (напр. от 1 до 3) прибавлять цифры каждый час в строку. Например:
Сегодня сделано заказов: 1 Сегодня сделано заказов: 4 Сегодня сделано заказов: 5 Сегодня сделано заказов: 8 И т.д. каждый час меняется цифра. |
var interval = 1000*60*60; var max = 3; var min = 1; setInterval(rand, interval); function rand() { let num = Math.floor(Math.random() * (max - min)) + min; let elem = document.createElement('DIV'); document.body.appendChild(elem); elem.innerHTML += 'Сегодня сделано заказов: ' + num + '<br>'; } |
.A.R.T.,
я конечно дико извиняюсь, но просто интересно - зачем? в настоящее время даже 'блондинок' не обманешь подобным, это сработает только для пенсионеров и дошкольников, которые сегодня первый раз зашли в интернет |
Russo,
я извиняюсь, а как вывести строку в HTML странице? Или прямо напрямую скрипт вставлять (если просто вставить скрипт - ничего не отображается)? Допустим есть строка: <div id="schetchik">Сегодня сделано заказов: ...</div> |
Блондинка,
чтобы дать понять посетителям, что интернет-магазин (доставка суши) работает. Недавно открылся сайт, некоторые посетители звонят и спрашивают, работает интернет-магазин или нет. |
Цитата:
Если с сайтом все хорошо, то вложитесь в рекламу. |
Цитата:
|
Я думаю в Вашем случае можно сделать так:
<!DOCTYPE html> <html> <head> <title>shop</title> <meta charset="utf-8"> </head> <body> <div id="schetchik"></div> <script> var interval = 1000*60*60; var max = 3; var min = 1; setInterval(rand, interval); function rand() { let num = Math.floor(Math.random() * (max - min)) + min; let elem = document.createElement('DIV'); let counter = document.getElementById('schetchik'); counter.appendChild(elem); elem.innerHTML += 'Сегодня сделано заказов: ' + num + '<br>'; } </script> </body> </html> Хотя правильней вставлять код в js файл. |
Все представленные тут решения почему-то предполагают, что посетитель будет часами сидеть (и зайдёт на страницу ровно в полночь) и смотреть на этот счётчик. (который сбрасывается при обновлении страницы, и показывает информацию сомнительного характера!)
Лучше всего показывать настоящее количество заказов, которое берётся из базы данных, где хранятся эти заказы! Если это не возможно, то предпочтительней показывать среднее ожидаемое количество заказов на основе количества заказов, которые были сделаны в предыдущие дни. Конечно можно использовать линейный график вида, y = ax + b, где a и b являются некоторыми коэффициентами, характерными для вашего магазина. Но скорей всего у вас в магазине в определённое время совершается больше заказов (я могу ошибаться!), поэтому график вида y = ax + b cos(cx + d) может лучше описывать количество заказов, сделанных к конкретному времени. Пример для y = ax + b cos(cx + d) с общим кол-вом заказов 60 в день (и набором данных, которые здесь не приводятся)... <p>Сегодня сделано заказов: <span id="orders-count"></span></p> <script> (function orders() { var element = document.getElementById("orders-count"); var t = (Date.now() / 3600 / 1000) % 24; element.innerHTML = Math.round(2.42 * t - 5 * Math.cos(.25 * t - 1.7)); setTimeout(orders, 10 * 60 * 1000); })(); </script> Для вашего магазина аппроксимация, конечно же, может иметь совершенно другой вид! Коэффициенты вычисляются по методу наименьших квадратов(https://en.wikipedia.org/wiki/Least_squares) для набора точек (в помощь для нахождения коэффициентов для вашего магазина в соответствии с данными последних дней https://www.desmos.com/calculator) Такой способ отражает более-менее правдоподобное кол-во заказов. И в результате получается компактная формула, которая не занимает много места. Конечно вы можете учитывать и такие детали, как день недели или праздник. (Это легко сделать, если у вас имеются конкретные данные) Хотя такое вычисление намного лучше, чем просто какие-то случайные числа, по возможности стоит написать скрипт, чтобы была возможность показывать настоящее количество заказов! Цитата:
|
Цитата:
|
Ваше выдёргивание из контекста, как будто мы тут лотерею отгадываем...
Да, вы правы, это не магазин, когда, почти нет клиентов |
Цитата:
|
Цитата:
Это не правильно просто скопировать тот пример и вставить на сайт. Вы должны провести своё собственное вычисление коэффициентов, и они будут заново вычисляться каждый день (каждый день появляются новые данные относительно заказов) Вообще-то это по темам экстраполяция, прогноз продаж, а не «пустышки-обманки» |
Цитата:
|
Ну к примеру, лично я бы глянула чисто из любопытства код сайта, увидев подобное занесла бы этот сайт в ч/с и пошла бы в гугл искать нормальный магазин.
|
Цитата:
|
Часовой пояс GMT +3, время: 08:33. |