几个小时以来,我一直在反对这个问题,并且可以使用一组额外的眼睛。:-)
我正在尝试设置一个 jQuery 倒计时,该倒计时在美国东部标准时间下午 3 点每 24 小时重置一次,无论时区如何,计时器都应显示在美国东部标准时间。
我在 WordPress 网站上使用 Keith Wood 的 jQuery Countdown 插件。http://keith-wood.name/countdownRef.html
我在 jQuery 论坛上找到了这个帖子,它帮助我了解了我目前所处的位置。https://forum.jquery.com/topic/countdown-plugin-how-to-restart-countdown-timer-every-24-hours
我还能够从那个线程中查看这些家伙的网站,我需要的确切功能可以正常工作。http://bedeals.com
所以我想我一定只是错过了一些明显的东西。有人介意看看我为此编写的代码吗?
jQuery(document).ready(function($) {
function serverTime() {
var time = null;
$.ajax({url: 'http://72.52.139.171/~eyedictive/wp-content/themes/eyedictive/servertime.php',
async: false, dataType: 'text',
success: function(text) {
time = new Date();
//alert(time);
},
error: function(http, message, exc) {
time = new Date();
//alert("test");
}});
return time;
}
function getCountDown() {
var until = getNowEDT();
until.setHours(15,0,0,0); // Next 3pm
return until;
}
function getNowEDT() {
var now = new Date();
now.setMinutes(now.getMinutes() + now.getTimezoneOffset() - 4 * 60); // EDT is UTC-4
return now;
}
$('#home-timer').countdown({until: getCountDown(), compact: true, serverSync: serverTime, format: 'HMS', timezone: -4,
onExpiry: function() {
alert('We have lift off!');
$(this).countdown('change', {until: getCountDown()});
}});
}});
这是 servertime.php 的内容:
<?php
$now = new DateTime();
echo $now->format("M j, Y H:i:s O")."\n";
?>
提前致谢!