首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >倒计时一直在变

倒计时一直在变
EN

Stack Overflow用户
提问于 2015-02-26 05:43:55
回答 2查看 88关注 0票数 1

是的,基本上我有一个倒计时计时器,它并不完全按照罐头上说的那样做。

PHP的输出是正确的,但是一旦在Javascript中回显,日期就会不断变化。

我会加载页面,它会显示一个ETA,我会刷新,它可能会向前跳转一个小时或向后跳转几个小时?

我只需要计时器到2015年3月20日倒计时。

PHP代码

代码语言:javascript
运行
复制
<?php 
  $futureDate = '2015-03-20';
  $d = new DateTime($futureDate);
?>

Javascript

代码语言:javascript
运行
复制
    $('#counter').countdown({

        timestamp : (new Date()).getTime() + <?php echo $d->diff(new DateTime())->format('%a*%h*%i*%s*1000'); ?> 
});

这是一个实时预览

Preview

求求你们,谁来帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2015-02-26 05:54:11

您可以在javascript中使用如下所示的内容

how to countdown to a date

代码语言:javascript
运行
复制
var end = new Date('03/20/2015 0:0 AM');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function showRemaining() {
    var now = new Date();
    var distance = end - now;
    if (distance < 0) {

        clearInterval(timer);
        document.getElementById('counter').innerHTML = 'EXPIRED!';

        return;
    }
    var days = Math.floor(distance / _day);
    var hours = Math.floor((distance % _day) / _hour);
    var minutes = Math.floor((distance % _hour) / _minute);
    var seconds = Math.floor((distance % _minute) / _second);

    document.getElementById('counter').innerHTML = days + 'days ';
    document.getElementById('counter').innerHTML += hours + 'hrs ';
    document.getElementById('counter').innerHTML += minutes + 'mins ';
    document.getElementById('counter').innerHTML += seconds + 'secs';
}

timer = setInterval(showRemaining, 1000);
票数 0
EN

Stack Overflow用户

发布于 2015-02-26 05:54:23

将您的javascript替换为

代码语言:javascript
运行
复制
$('#counter').countdown({
        timestamp : new Date('2015/03/20') 
});

现在,你把事情搞得过于复杂了--你只需要把倒计时的日期设置成你想让它结束的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28730245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档