我正在尝试为我的网站实现倒计时,但它在每一页刷新时都会重置,我不知道如何解决这个问题,你们能帮助我吗?(i used this)。 ..java脚本倒数计时器在页面刷新时得到重置
var timer;
var compareDate = new Date();
compareDate.setDate(compareDate.getDate() + 16); //incresed by to date + (16 days)
timer = setInterval(function() {
timeBetweenDates(compareDate);
}, 1000);
function timeBetweenDates(toDate) {
var dateEntered = toDate;
var now = new Date();
var difference = dateEntered.getTime() - now.getTime();
if (difference <= 0) {
// Timer done
clearInterval(timer);
} else {
var seconds = Math.floor(difference/1000);
var minutes = Math.floor(seconds/60);
var hours = Math.floor(minutes/60);
var days = Math.floor(hours/24);
hours %= 24;
minutes %= 60;
seconds %= 60;
$("#days").text(days);
$("#hours").text(hours);
$("#minutes").text(minutes);
$("#seconds").text(seconds);
}
}
body {
background: #f5f5f5;
}
#timer {
font-family: Arial, sans-serif;
font-size: 20px;
color: #999;
letter-spacing: -1px;
}
#timer span {
font-size: 60px;
color: #333;
margin: 0 3px 0 15px;
}
#timer span:first-child {
margin-left: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="timer">
<span id="days"></span>days
<span id="hours"></span>hours
<span id="minutes"></span>minutes
<span id="seconds"></span>seconds
</div>
那么每次刷新页面上面的代码都会被执行,然后将日期设置为16天。如果你需要它,那么从你第一次进入页面开始的16天内,你会想要做某种客户端持久化。这里最简单的选择是localStorage。 – Keith
感谢Keith的回应,如果你不介意可以告诉我该怎么做? – Sazny14
[Countdown timer reset on page refresh]可能重复(https://stackoverflow.com/questions/24814462/countdown-timer-resets-on-page-refresh) – yuriy636