[Ответить в тред] Ответить в тред

Тред закрыт.


03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 16 | 3 | 3
Назад Вниз Каталог Обновить

Аноним 28/03/16 Пнд 16:29:14  701039   Обсуждение закрыто  
14591717541480.jpg (95Кб, 1080x1080)
Бля анчоусы, на связи школьник-кун даже не программист . Как сделать таймер на javascript чтоб кликнуть по кнопке можно было спустя 24 часа? Напишите распишите
Аноним 28/03/16 Пнд 16:31:06  701042
14591718666460.jpg (34Кб, 639x356)
Аноним 28/03/16 Пнд 16:34:57  701044
Бамп
Аноним 28/03/16 Пнд 16:36:55  701046
Бамп
Аноним 28/03/16 Пнд 16:39:08  701049
Бамп
Аноним 28/03/16 Пнд 16:41:01  701052
14591724619590.jpg (20Кб, 427x274)
Аноним 28/03/16 Пнд 16:43:16  701055
баип
Аноним 28/03/16 Пнд 16:51:52  701062
Бамп
Аноним 28/03/16 Пнд 16:57:00  701067
бамп
Аноним 28/03/16 Пнд 17:05:18  701073
Если без участия сервера, то можно записывать время последнего клика в локалсторедж.
При клике window.localStorage.setItem('lastClick', new Date)
Далее для проверки доступен ли клик new Date - new Date(window.localStorage.getItem('lastClick')) >= 86400000
Аноним 28/03/16 Пнд 17:19:05  701084

>>701073
спасибо анчоус.Посмотри на этот говно код и скажи что не так

function startTimer() {
var my_timer = document.getElementById("my_timer");
var time = my_timer.innerHTML;
var arr = time.split(":");
var h = arr[0]; //время часы
var m = arr[1]; //время минуты
var s = arr[2]; // время секунды
var a=Math.floor(Math.random()10); //
var b=Math.floor(Math.random()
10); // рандомный цвет
var c=Math.floor(Math.random()10); цвет
var d=Math.floor(Math.random()
10); цвет
var e=Math.floor(Math.random()10); угадай. цвет!
var f=Math.floor(Math.random()
10); цвет!
var color="#"+a.toString()+b.toString()+c.toString()+d.toString()+e.toString()+f.toString(); это запись цвета
if (start == 0){
if (s == 0) {
if (m == 0) {
if (h == 0) {
window.location.reload();
return;
}
h--;
m = 60;
if (h < 10) h = "0" + h;
}
m--;
if (m < 10) m = "0" + m;
s = 59;
if (s>0) {

}
else s--;

if (s < 10) s = "0" + s;
document.getElementById("my_timer").innerHTML = h+":"+m+":"+s;
document.getElementById("gg").style.backgroundColor=color; //объект становится цетом
setTimeout(startTimer, 1000);
}

}

Проблема какая. я нажимаю на таймер время идет но нету заливки цвета, когда идет таймер я нажимаю на кнопку и таймер ускоряется, что делатЬ?
Аноним 28/03/16 Пнд 17:42:39  701095
>>701084
Код реально попахивает.
Очевидно таймер ускоряется от каждого нажатия на кнопку, т.к. каждое нажатие запускает отдельный таймер с этой функцией.
Работай с датой используя объект Date:
new Date().toLocaleTimeString() - возвращает текущее время в виде строки в нужном тебе формате.
Приводить числа к строке при конкатенации не обязательно, если в выражении есть хоть одна строка - все числа в выражении будут приведены к строке. Но вообще подумай как избавиться от такого говнокода в генерации цвета.
Еще в JS есть такая функция setInterval - чтобы не вызывать в самой функции setTimeout на эту же функцию.
Аноним 28/03/16 Пнд 18:03:55  701119
>>701095
Слушай а как сделать что бы кнопку можно было нажать после того как время закончилось?
Аноним 28/03/16 Пнд 18:14:11  701137
>>701119
Самый простой вариант - заверни всё тело функции в if с условием проверки времени
Аноним 28/03/16 Пнд 18:16:59  701140
>>701137
я хочу завернуть так. Проверка, кнопка нажата если время по нулям то начинаем обратку и заливаем квадрат. if время есть, то ничего не происходит. можно просто сделать функцию если время по нулям, то эта функция = 1, else = 0
Аноним 28/03/16 Пнд 18:19:43  701142
>>701140
можно делать так если при сложении всего времени у нас получается 0, то тогда у нас активна кнопка. :)
Аноним 28/03/16 Пнд 18:26:11  701149
>>701142
Слушай а есть команда что бы кнопку создавать?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 16 | 3 | 3
Назад Вверх Каталог Обновить

Топ тредов