【问题标题】:Intervals timer from timestamp时间戳的间隔计时器
【发布时间】:2019-03-20 12:43:37
【问题描述】:

我从特定时间戳中找到了以下用于计时器的简单脚本:

var el = '.timer';
var start = 1553000000,
    cDisplay = $(el);
var format = function (t) {
    var hours = Math.floor(t / 3600),
        minutes = Math.floor(t / 60 % 60),
        seconds = Math.floor(t % 60),
        arr = [];
    if (hours > 0) {
        arr.push(hours == 1 ? '1 hr' : hours + 'hrs');
    }
    if (minutes > 0 || hours > 0) {
        arr.push(minutes > 1 ? minutes + ' mins' : minutes + ' min');
    }
    if (seconds > 0 || minutes > 0 || hours > 0) {
        arr.push(seconds > 1 ? seconds + ' secs' : seconds + ' sec');
    }
    cDisplay.html(arr.join(' '));
};
setInterval(function () {
    format(new Date().getTime() / 1000 - start);
}, 1000);

http://jsfiddle.net/4eqat9yc/

我想创建一个模仿交通信号灯循环的脚本,例如有 40 秒的红灯,然后是 30 秒的绿灯,并且它会无限重复。

输出应该是红色文本倒计时 40 秒,然后是绿色文本倒计时 30 秒,从时间戳中获取周期的开始时间。 (例如,我可以在循环中间启动脚本,它会显示此间隔的正确时间)

你们能帮我解决这个问题吗?

【问题讨论】:

    标签: javascript timestamp


    【解决方案1】:

    我用简单的 python 方程找出了如何确定当前运行的间隔的逻辑: 让我们将其简化为 5 和 8 秒的间隔,首先是 5 秒 但我被困在如何用 JS 启动它

    x = 5
    y = 8
    t = 96
    
    z = t-(t/(x+y)*(x+y)) //python divides without remainder
    
    if z >= x and z > y:
        print y
    elif  z >= x and z < y:
        print y
    elif  z < x and z < y:
        print x  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2016-11-14
      • 2018-07-08
      • 2018-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多