Javascript 倒计时计时器JS-IF条件有问题

Javascript 倒计时计时器JS-IF条件有问题,javascript,html,counter,countdown,Javascript,Html,Counter,Countdown,我不熟悉JavaScript和这个网站 我有以下事件计时器倒计时代码: 我的问题实际上是if条件 setInterval(function () { if (distance < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "EXPIRED"; } }, 1000); setInterval(函数(){ 如果(距离

我不熟悉JavaScript和这个网站

我有以下事件计时器倒计时代码:

我的问题实际上是if条件

setInterval(function () {
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    }
}, 1000);
setInterval(函数(){
如果(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
}, 1000);
因为我的事件在倒计时结束时不会过期,所以它在开始大约一小时后结束

那么,有人能帮我添加另一个条件吗?这样,在这段时间间隔内,它将显示
Live
或类似的内容,而不是显示
Expired


非常感谢你

看来else语句可以解决您的问题

试一试

if(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
否则{
document.getElementById(“demo”).innerHTML=“LIVE”;
}

看来else语句可以解决您的问题

试一试

if(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
否则{
document.getElementById(“demo”).innerHTML=“LIVE”;
}

您想管理3种不同的状态

  • 倒数计时到现场
  • 生活
  • 过期
  • (()=>{
    const intervalId=setInterval(()=>{
    //更新倒计时计时器
    如果(距离<-(经过的游戏时间以毫秒为单位)){
    //设置过期
    clearInterval(intervalId);
    }
    否则如果(距离<0){
    //启动
    }
    }, 1000);
    })();
    
    编辑 工作示例 这个例子利用了矩,因为它是一个伟大的实用程序,提供了所有必要的数学和日期格式,非常适合这个场景

    
    文件
    (() => {
    const countdownEl=document.getElementById(“倒计时”);
    施工开始日期=时刻(“2020-01-22”);
    const exposed\u GAMETIME\u IN\u MS=1000*60*60*2;//2小时(毫秒)
    const intervalId=setInterval(()=>{
    const TIME_FROM_START=START_DATE.diff(矩());
    countdownEl.innerHTML=START_DATE.fromNow();//可以修改此选项以显示不同的粒度级别。。。
    if(从开始算起的时间<-已用的游戏时间,单位:毫秒){
    countdownEl.innerHTML=“过期”;
    clearInterval(intervalId);
    }else if(从开始算起的时间<0){
    countdownEl.innerHTML=“实时”;
    }
    }, 1000);
    })();
    
    您想管理3种不同的状态

  • 倒数计时到现场
  • 生活
  • 过期
  • (()=>{
    const intervalId=setInterval(()=>{
    //更新倒计时计时器
    如果(距离<-(经过的游戏时间以毫秒为单位)){
    //设置过期
    clearInterval(intervalId);
    }
    否则如果(距离<0){
    //启动
    }
    }, 1000);
    })();
    
    编辑 工作示例 这个例子利用了矩,因为它是一个伟大的实用程序,提供了所有必要的数学和日期格式,非常适合这个场景

    
    文件
    (() => {
    const countdownEl=document.getElementById(“倒计时”);
    施工开始日期=时刻(“2020-01-22”);
    const exposed\u GAMETIME\u IN\u MS=1000*60*60*2;//2小时(毫秒)
    const intervalId=setInterval(()=>{
    const TIME_FROM_START=START_DATE.diff(矩());
    countdownEl.innerHTML=START_DATE.fromNow();//可以修改此选项以显示不同的粒度级别。。。
    if(从开始算起的时间<-已用的游戏时间,单位:毫秒){
    countdownEl.innerHTML=“过期”;
    clearInterval(intervalId);
    }else if(从开始算起的时间<0){
    countdownEl.innerHTML=“实时”;
    }
    }, 1000);
    })();
    
    能否提供更多代码的上下文?您似乎只复制了引用中的一部分代码。您好,我在codepen中托管了该代码,因为我无法使用集成编辑器将其上载到站点。这里是:我不确定我是否理解这一点的预期结果。一个有用的练习可能是使用给定的When-Then公式来指导用户故事验收测试的编写。如果您能以这种方式定义场景,它将极大地帮助您提供解决方案。您能提供代码的更多上下文吗?您似乎只复制了引用中的一部分代码。您好,我在codepen中托管了该代码,因为我无法使用集成编辑器将其上载到站点。这里是:我不确定我是否理解这一点的预期结果。一个有用的练习可能是使用给定的When-Then公式来指导用户故事验收测试的编写。如果您可以用这种方式定义场景,它将极大地帮助您提供解决方案。它将不起作用,因为条件是,当它小于零时,它将显示“过期”。尽管在其他情况下,您说:“else do this”将不起作用,因为它已经满足第一个条件。不管怎样,我非常感谢你试图帮助我。根据你问题的措辞,我本以为这就是答案。既然你说这不能解决你的问题,我必须问一下你的预期结果是什么?我不能说
      if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
      }
      else {
        document.getElementById("demo").innerHTML = "LIVE";
      }