Как отобразить таймер 12 часов перед использованием JavaScript или jQuery? - PullRequest
0 голосов
/ 27 января 2020

Как я могу отобразить таймер 12 часов раньше. Ниже мой код таймера это на 24 часа.

var start = new Date;
start.setHours(14, 30, 0); // 2.30PM daily
function pad(num) {
    return ("0" + parseInt(num)).substr(-2);
}

function tick() {
    var now = new Date;
    if (now > start) { // too late, go to tomorrow
        start.setDate(start.getDate() + 1);
    }
    var remain = ((start - now) / 1000);
    var hh = pad((remain / 60 / 60) % 60);
    var mm = pad((remain / 60) % 60);
    var ss = pad(remain % 60);
    $("#timer-time").html(hh + ":" + mm + ":" + ss);
    setTimeout(tick, 1000);
}

tick();
#timer-time{
  font-weight: bold;
  font-size: 2.4em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="timer-time">00</div>

Любая помощь будет оценена!

1 Ответ

1 голос
/ 27 января 2020

Изменить начало и время, чтобы увидеть результат для текущего времени

var to;
var start;
var timer;

function init(){
  to = new Date;
  start = new Date;
  to.setHours(14, 30, 0);
  start.setHours(2, 30, 0);
}

function startCountdow(currentTime){
  if (currentTime <= to && currentTime >= start) {
    timer = setInterval(tick, 1000);
  }
}

function tick() {
  var now = new Date();
  var remain = ((to - now) / 1000);
  
  if(remain < 0){
    $("#timer-time").html("Passed");
    clearInterval(timer);
  }else{
    var hh = pad((remain / 60 / 60) % 60);
    var mm = pad((remain / 60) % 60);
    var ss = pad(remain % 60);
    $("#timer-time").html(hh + ":" + mm + ":" + ss);
  }
}

function pad(num) {
  return ("0" + parseInt(num)).substr(-2);
}

init();
startCountdow(new Date());
#timer-time{
  font-weight: bold;
  font-size: 2.4em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="timer-time">00</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...