gpt4 book ai didi

javascript - 计时器不倒计时

转载 作者:行者123 更新时间:2023-11-30 10:57:40 28 4
gpt4 key购买 nike

我有一个倒计时时钟,它会发生变化,但除非您刷新页面,否则它似乎不会实时倒计时。我不熟悉 javascript,所以我从某个地方复制了这个,然后自己稍微编辑一下以适应我的需要。是否有什么我应该添加或格式错误导致倒计时不是实时的。

function updateTimeSpan() {
var theSpan = document.getElementById('timeLeft');
var d = new Date();
var t = new Date();
var ms;
var s, m, h;

// if it's after 5pm, set today to tomorrow
if (d.getHours() > 16) {
d.setDate(d.getDate() + 1);
}
// get the next monday
while (d.getDay() != 1) {
d.setDate(d.getDate() + 1);
}
// set the time
d.setHours(1665);
d.setMinutes(33);
d.setSeconds(27);
// get the difference between right now and next monday
ms = d - t;
// get the days between now and then
d = parseInt(ms / (1000 * 60 * 60 * 24));
ms -= (d * 1000 * 60 * 60 * 24);
// get hours
h = parseInt(ms / (1000 * 60 * 60));
ms -= (h * 1000 * 60 * 60);
// get minutes
m = parseInt(ms / (1000 * 60));
ms -= (m * 1000 * 60);
// get seconds
s = parseInt(ms / 1000);
theSpan.innerHTML = d + ' DAYS | ' + h + ' HRS | ' + m + ' MINS | ' + s + ' SECS';
setTimeout('updateTimeSpan()', 100);
}

onload = updateTimeSpan();

$(function() {

$("h2")
.wrapInner("<span>")

$("h2 br")
.before("<span class='spacer'>")
.after("<span class='spacer'>");

});
.timer-header {
position: absolute;
left: 0;
width: 100%;
}

.timer-header span {
color: black;
font: bold 24px/45px Montserrat, Sans-Serif;
letter-spacing: -1px;
font-size: 30px;
padding: 10px;
}

.timer-header span.spacer {
padding: 0 5px;
}

@media only screen and (max-width: 480px) {
.timer-header span {
color: black;
font: bold 24px/45px Montserrat, Sans-Serif;
font-size: 18px;
padding: 5px;
}
.timer-header span.spacer {
padding: 0 5px;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<h2 class="timer-header"><span id="timeLeft"></span></h2>
</body>

最佳答案

试试这个

var countDownDate = new Date("Jan 5, 2020 00:00:00").getTime();


var x = setInterval(function() {

var now = new Date().getTime();

var distance = countDownDate - now;

// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);

document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";

// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
p {
text-align: center;
font-size: 60px;
margin-top: 0px;
}
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<p id="demo"></p>
</body>
</html>

关于javascript - 计时器不倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59362192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com