我有倒计时功能(有效)。
// Set the date we're counting down to
var countDownDate = new Date("<?= $stop_datejs ?>");
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date();
// Find the distance between now an the count down date
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);
// Output the result in an element with id="demo"
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 = "ACTUALIZA LA PÁGINA";
}
}, 1000);
但我需要与php变量$ actual_date(服务器日期)进行比较
// Get todays date and time
var now = new Date("<?= $actual_date ?>");
可行,但每秒都会停止更新。问题是什么? 谢谢
答案 0 :(得分:0)
变量now
不会更新,因为变量只会写一次。因此,如果您加载网页,该值将设置一次但不会更新,因为网站不会再次更新(仅限您的间隔)。
要提供此功能,您只需使用:
// Get todays date and time
var now = new Date();
这只会使用当前时间作为Date
的新实例。如果您的<?= $actual_date ?>
不是当前时间戳,或者您希望同步,如果所有浏览器/电脑的时间设置不正确,您应该查看AJAX
。使用AJAX是从后端获取更新时间的最简单方法。
jQuery Ajax: http://api.jquery.com/jquery.ajax/