0

当我在 00:53 使用脚本时,倒计时显示最新的 07:00 分钟。当时间到了,倒计时计时器每小时循环 59:59。我怎样才能做到这一点 ?我也需要时间到了,自动刷新页面

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .timer {
      text-align: center;
      font-size: 60px;
      margin-top: 0px;
      color: white;
      background-color: rgb(100, 38, 214);
   }
</style>
</head>
<body>
<h1 style="text-align: center;">Countdown Timer Example</h1>
<h2 class="timer"></h2>
<script>
   var countDownDate = new Date("<?php echo strtotime('+1 hour',time()); ?>").getTime();
   var timeClear = setInterval(function() {
      var now = new Date("<?php echo time(); ?>").getTime();
      var timeLeft = countDownDate - now;
      var days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
      var hours = Math.floor(
         (timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
      );
      var minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));
      var seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);
      document.querySelector(".timer").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
      if (timeLeft < 0) {
         clearInterval(timeClear);
         document.querySelector(".timer").innerHTML = "Done";
      }
   }, 1000);
</script>
</body>
</html>

4

2 回答 2

0

我首先尝试了另一种方法,将 php 日期转换为 json 格式 timer.php `<?php include('config.php');

$date=date('Y/m/d H:i:s');

打印 json_encode ($date); ?>`

然后

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script>
var serverdate;
$.get('localhost/test/timer.php', function(data){
   
   serverDate = data.date; });
setInterval(function(){
const data.date = moment.utc(moment().endOf('hour').diff()).format('HH:mm:ss')
document.getElementById('timer').innerHTML = data.date;
}, 1000);

</script>
</head>
<body>

<div id="timer"></div>



</body>
</html>

我很抱歉缺少我的 javascript =(

于 2021-01-09T12:49:21.147 回答
0

我试过moment.js,也许能找到答案。我怎样才能设置这个来连接mysql和ajax?

<script>
setInterval(function(){
const timeString = moment.utc(moment().endOf('hour').diff()).format('HH:mm:ss')
document.getElementById('timer').innerHTML = timeString;
}, 1000);
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<div id="timer"></div>

于 2021-01-08T23:28:44.090 回答