Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Фейк счетчик в течении дня (https://javascript.ru/forum/misc/68281-fejjk-schetchik-v-techenii-dnya.html)

Incredible 06.04.2017 19:25

Фейк счетчик в течении дня
 
Нужен фейк счетчик, чтоб добавлял от 0 до 2000 в течении дня и был привязан к Московскому времени. Помогите разобраться, что тут не так, почему не работает? p.s. я копипастер, js не знаю, помогите, добрые люди!
var initnum = 1737352;  // задаем кол-во живых енотов с утра
var daynum = 300000; // задаем кол-во рождающихся енотов за день
var speed = daynum/86400; // считаем скорость рождения енотов в секунду
var time = "<?php echo date("G:i:s"); ?>".split(":"); // вытаскиваем текущее время с сервера и разбиваем на части (часы мин сек)
var curnum = initnum  + Math.round((time[0]*3600 + time[1]*60 + time[2]*1)*speed);  // считаем количество всех енотов при текущем времени сервера для синхронизации с юзером
function timer() {
document.getElementById("watch").innerHTML = curnum; // вводим данные в div
curnum = Math.round(curnum + speed);
setTimeout("timer()", 1000); // обновляем данные раз в секунду
}

<body>
Сейчас уже: <span id="watch"></span> енотов.<script type='text/javascript'>timer();</script>
</body>

Dilettante_Pro 07.04.2017 10:37

Incredible,

Строка 9
setTimeout(timer, 1000);

Incredible 07.04.2017 11:02

Цитата:

Сообщение от Dilettante_Pro (Сообщение 449490)
Incredible,

Строка 9
setTimeout(timer, 1000);

Не помогло :(

ksa 07.04.2017 11:21

Цитата:

Сообщение от Incredible
setTimeout("timer()", 1000);

Так конь не ходит. :nono: (с)

<p>Сейчас уже: <span id="watch"></span> енотов.</p>
<script type='text/javascript'>
// задаем кол-во живых енотов с утра
var initnum = 1737352;  
// задаем кол-во рождающихся енотов за день
var daynum = 300000; 
// считаем скорость рождения енотов в секунду
var speed = daynum/86400; 
// вытаскиваем текущее время с сервера и разбиваем на части (часы мин сек)
var time = "00:00:00".split(":"); 
// считаем количество всех енотов при текущем времени сервера для синхронизации с юзером
var curnum = initnum  + Math.round((time[0]*3600 + time[1]*60 + time[2]*1)*speed);  
timer();
function timer() {
	// вводим данные в div
	document.getElementById("watch").innerHTML = curnum; 
	curnum = Math.round(curnum + speed);
	// обновляем данные раз в секунду
	setTimeout(timer, 1000); 
}
</script>

Dilettante_Pro 07.04.2017 11:33

Incredible,
Цитата:

Сообщение от Incredible
Не помогло

Не могло не помочь - смотрите пост от ksa
У вас исходная страничка - php ?
php на сервере работает?

Incredible 07.04.2017 13:23

Цитата:

Сообщение от Dilettante_Pro (Сообщение 449497)
Incredible,

Не могло не помочь - смотрите пост от ksa
У вас исходная страничка - php ?
php на сервере работает?

Страничка php, то что написал ksa работает, но он убрал php из скрипта
var time = "<?php echo date("G:i:s"); ?>".split(":");
поменял на
var time = "00:00:00".split(":");

Мне нужно чтоб счетчик считал от Московского времени, как это сделать?

ksa 07.04.2017 13:56

Цитата:

Сообщение от Incredible
но он убрал php из скрипта
var time = "<?php echo date("G:i:s"); ?>".split(":");

Ну нет у меня цветного телевизора ПХП... :D

Dilettante_Pro 07.04.2017 14:08

Incredible,
Вот такую страничку
<!DOCTYPE html>
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
<script>
var initnum = 1737352;  // задаем кол-во живых енотов с утра
var daynum = 300000; // задаем кол-во рождающихся енотов за день
var speed = daynum/86400; // считаем скорость рождения енотов в секунду
var time = "<?php echo date("G:i:s"); ?>".split(":");
var curnum = initnum  + Math.round((time[0]*3600 + time[1]*60 + time[2]*1)*speed);  // считаем количество всех енотов при текущем времени сервера для синхронизации с юзером
function timer() {
document.getElementById("watch").innerHTML = curnum; // вводим данные в div
curnum = Math.round(curnum + speed);
setTimeout(timer, 1000); // обновляем данные раз в секунду
}
</script>
Сейчас уже: <span id="watch"></span> енотов.
<script>
  timer();
</script>
</body>
</html>

сохранил на сервере под именем test.php - все работает

Incredible 08.04.2017 09:14

Цитата:

Сообщение от Dilettante_Pro (Сообщение 449525)
Incredible,
Вот такую страничку
<!DOCTYPE html>
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
<script>
var initnum = 1737352;  // задаем кол-во живых енотов с утра
var daynum = 300000; // задаем кол-во рождающихся енотов за день
var speed = daynum/86400; // считаем скорость рождения енотов в секунду
var time = "<?php echo date("G:i:s"); ?>".split(":");
var curnum = initnum  + Math.round((time[0]*3600 + time[1]*60 + time[2]*1)*speed);  // считаем количество всех енотов при текущем времени сервера для синхронизации с юзером
function timer() {
document.getElementById("watch").innerHTML = curnum; // вводим данные в div
curnum = Math.round(curnum + speed);
setTimeout(timer, 1000); // обновляем данные раз в секунду
}
</script>
Сейчас уже: <span id="watch"></span> енотов.
<script>
  timer();
</script>
</body>
</html>

сохранил на сервере под именем test.php - все работает

Так тоже работает и у меня, ну а как сделать от Московского времени?

Dilettante_Pro 08.04.2017 20:50

Incredible,
А какое время у вас на сервере?


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