我从特定的时间戳中找到了以下简单的计时器脚本:
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);
我想创建一个脚本来模仿交通信号灯周期,例如有40秒的红灯,然后是30秒的绿灯,并且它会无限期地重复。
输出应为红色文本倒计时40秒,然后绿色文本倒计时30秒,从时间戳开始算起周期的开始时间。 (因此,例如,我可以在周期的中间启动脚本,它将显示此间隔剩余的正确时间)
你们能帮我吗?
答案 0 :(得分:0)
我用简单的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