Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要修改javascript倒计时代码_Javascript_Jquery_Ajax - Fatal编程技术网

需要修改javascript倒计时代码

需要修改javascript倒计时代码,javascript,jquery,ajax,Javascript,Jquery,Ajax,请我有一个JavaScript倒计时代码,我从stackoverflow得到的,这是我倒计时项目的解决方案。现有代码将时间从30分钟倒计时到1,然后重新开始。它同时向每个用户提供相同的计数结果。但我对代码的挑战是,我无法在其他版本中修改它以调整计数持续时间,因为我希望它从2分钟倒计时到0,然后继续重新开始,但不超过2分钟。请我需要有人将复制此代码,并运行它,看看你是否可以调整的持续时间,并帮助我与解决方案。谢谢你的期待 代码如下: setInterval(function() { functio

请我有一个JavaScript倒计时代码,我从stackoverflow得到的,这是我倒计时项目的解决方案。现有代码将时间从30分钟倒计时到1,然后重新开始。它同时向每个用户提供相同的计数结果。但我对代码的挑战是,我无法在其他版本中修改它以调整计数持续时间,因为我希望它从2分钟倒计时到0,然后继续重新开始,但不超过2分钟。请我需要有人将复制此代码,并运行它,看看你是否可以调整的持续时间,并帮助我与解决方案。谢谢你的期待

代码如下:

setInterval(function() {
function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}
var x = document.getElementById("timer");
var d = new Date();
var s = (d.getSeconds());
var m = (d.getMinutes());
var a = addZero(30 - m);
var b = addZero(60 - m);
var c = (60 - s);
var z = "<span style='color:red;font-size:50px;'>" + "Break" + "</span>";
var v = "<span style='color:black;font-size:24px;'>" + "Break" + "</span>";

if (m > 30) {
    y = b;
}
else if (m < 30) {
    y = a;
}
if (y < 2 && c < 15) {
    q = z;
}
else {
    q = v;
}

var t = y + (":" + addZero(c) + " Till Station " + (q));
x.innerHTML = t;
}, 250);



<div align="center" id="timer" style='color:black;font-size:24px;' ></div>
setInterval(函数(){
函数addZero(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
var x=document.getElementById(“计时器”);
var d=新日期();
var s=(d.getSeconds());
var m=(d.getMinutes());
var a=加零(30-m);
var b=加零(60-m);
var c=(60-s);
var z=“”+“中断”+”;
var v=“”+”中断“+”;
如果(m>30){
y=b;
}
否则,如果(m<30){
y=a;
}
如果(y<2&&c<15){
q=z;
}
否则{
q=v;
}
var t=y+(“:”+addZero(c)+“Till Station”+(q));
x、 innerHTML=t;
}, 250);

您介绍的代码值得一提:

  • 变量名应该是描述性的,而不是一个字母a、b、c
  • 变量应该显式定义,而不是隐式全局定义,就像现在发生的
    y
    q
  • m
    为30时,
    y
    不获取值。。。这不可能是正确的
  • 如果最后一点得到纠正,那么设置
    z
    的逻辑将产生新的问题
  • 样式设置应尽可能通过CSS类完成,而不是通过
    style
    属性设置
这是你可以做到的。您可以根据自己的喜好设置前两个常量:

//计时器的最大秒数(例如120=2分钟)
常数MAX_SECS=120;
//文本突出显示的秒数
const WARN_SECS=15;
//多姆
const spanMinutes=document.getElementById(“min”);
const spanSeconds=document.getElementById(“sec”);
const spanWarning=document.getElementById(“break”);
//用于使用2位数字格式化数字
constTwoDigits=i=>i.toString().padStart(2,0);
设置间隔(()=>{
设秒数=MAX_SECS-Math.floor(Date.now()/1000)%MAX_SECS;
spanMinutes.textContent=两位数(数学楼层(秒/60))
spanSeconds.textContent=两位数(秒%60);
span warning.classList.toggle(“警告”,秒<警告秒);
}, 250);
#计时器{
文本对齐:居中;
字体大小:24px;
}
.警告{
颜色:红色;
}
00:00
直到车站坏了

那个代码不好。变量名称应该是描述性的,而不是一个字母
a
b
c
。。。变量应该明确定义,而不是隐式全局定义,如
y
q
。最好自己编程。