Здравствуйте, поверхностно знаю js и хочу ради интереса изменить логику таймера, могу конечно новый взять не в этом суть.
Сейчас логика его работает от времени 0:00. Но смотря на код мне кажется что берем текущее и прибавляем к target_time 24 часа (1000*60*60*24) Хочу именно так и реализовать чтобы брать текущее время и прибавлять к нему свое.
Хотя бы так, потом буду мусолить чтобы запоминать в куки чтобы не обновлять каждый раз таймер для человека.
Да, возможно велосипед.
var set_slide = function(selector, slide) {
$(selector).text(slide);
}
var time = new Date();
var target_time = new Date(time.getFullYear(), time.getMonth(), time.getDate());
target_time = target_time.valueOf()+1000;
var tick = function(init) {
if (init == undefined) {
init = false;
}
var current_time = new Date();
current_time = current_time.valueOf();
if (current_time > target_time) {
var time = new Date();
target_time = new Date(time.getFullYear(), time.getMonth(), time.getDate());
target_time = target_time.valueOf()+1000*60*60*24;
}
var time_diff = Math.floor((target_time - current_time)/1000);
var second_2 = time_diff % 10; time_diff = Math.floor(time_diff/10);
var second_1 = time_diff % 6; time_diff = Math.floor(time_diff/6);
var minute_2 = time_diff % 10; time_diff = Math.floor(time_diff/10);
var minute_1 = time_diff % 6; time_diff = Math.floor(time_diff/6);
var hour_2 = Math.floor(time_diff/15);
var hour_1 = time_diff % 10;
set_slide('span.secondPlay5', second_2);
if ((second_2 == 9) || init) {set_slide('span.second6Play5', second_1);
if ((second_1 == 5) || init) {set_slide('span.minutePlay5', minute_2);
if ((minute_2 == 9) || init) {set_slide('span.minute6Play5', minute_1);
if ((minute_1 == 5) || init) {set_slide('span.hourPlay5', hour_1);
if ((hour_2 == 9) || init) {set_slide('span.hour2Play5', hour_2);}}}}}
}
tick(true);
setInterval(tick, 1000);