如何在关闭或打开javascript时显示

如何在关闭或打开javascript时显示,javascript,Javascript,我正在使用来自的以下代码 如何编辑javascript,使其打开时间如下所示: Monday 6am–1am Tuesday 6am–1am Wednesday 6am–1am Thursday 6am–1am Friday 6am–1am Saturday 8am–6pm Sunday 10am–4pm 我尝试过做以下事情,但是当我访问网页时,它仍然说“我们关门了”(星期一),尽管我已经设置了星期几和小时数。我有一种感觉,else语句可能与之相冲突 有人能帮忙吗

我正在使用来自的以下代码

如何编辑javascript,使其打开时间如下所示:

Monday  6am–1am
Tuesday 6am–1am
Wednesday   6am–1am
Thursday    6am–1am
Friday  6am–1am
Saturday    8am–6pm
Sunday  10am–4pm
我尝试过做以下事情,但是当我访问网页时,它仍然说“我们关门了”(星期一),尽管我已经设置了星期几和小时数。我有一种感觉,else语句可能与之相冲突

有人能帮忙吗

    var now = new Date();
    var weekday = new Array(7);
    weekday[0] = "Sunday";
    weekday[1] = "Monday";
    weekday[2] = "Tuesday";
    weekday[3] = "Wednesday";
    weekday[4] = "Thursday";
    weekday[5] = "Friday";
    weekday[6] = "Saturday";

....
....
....
....
      if ((dayOfWeek == 1 || dayOfWeek == 2 || dayOfWeek == 3 || dayOfWeek == 4 || dayOfWeek == 5) && hour >= 6 && hour <= 0) {
        hour = ((hour + 11) % 12 + 1); //i.e. show 1:15 instead of 13:15
        timeDiv.innerHTML = 'it\'s ' + today + ' ' + hour + ':' + minutes + suffix + ' - we\'re open!';
        timeDiv.className = 'open';
      } 

      else if ((dayOfWeek == 6) && hour >= 8 && hour <= 18) {
        hour = ((hour + 11) % 12 + 1);
        timeDiv.innerHTML = 'it\'s ' + today + ' ' + hour + ':' + minutes + suffix + ' - we\'re open!';
        timeDiv.className = 'open';
      } 

      else if ((dayOfWeek == 0) && hour >= 10 && hour <= 16) {
        hour = ((hour + 11) % 12 + 1);
        timeDiv.innerHTML = 'it\'s ' + today + ' ' + hour + ':' + minutes + suffix + ' - we\'re open!';
        timeDiv.className = 'open';
      } 

      else {
        if (hour == 0 || hour > 12) {
          hour = ((hour + 11) % 12 + 1); //i.e. show 1:15 instead of 13:15
        }
        timeDiv.innerHTML = 'It\'s ' + today + ' ' + hour + ':' + minutes + suffix + ' - we\'re closed!';
        timeDiv.className = 'closed';
      }
    };
  ....
...
...
...
var now=newdate();
var weekday=新数组(7);
工作日[0]=“周日”;
工作日[1]=“周一”;
工作日[2]=“星期二”;
工作日[3]=“星期三”;
工作日[4]=“周四”;
工作日[5]=“周五”;
工作日[6]=“周六”;
....
....
....
....
如果((dayOfWeek==1 | | dayOfWeek==2 | | | dayOfWeek==3 | | | dayOfWeek==4 | | dayOfWeek==5)&&hour>=6&&hour=8&&hour=10&&hour 12){
小时=((小时+11)%12+1);//即显示1:15而不是13:15
}
timeDiv.innerHTML='It's'+今天+'+小时+':'+分钟+后缀+'-我们关门了!';
timeDiv.className='closed';
}
};
....
...
...
...

您的第一个if不正确,因为您正在检查小时数>=6和=0)&&
((小时>=6&&hour我同意上面的答案和评论,这应该是服务器端的计算

但是,问题在于第一个if语句的代码,特别是本节:


hour>=6&&hour=&&hour如果可以的话,你应该在服务器上这样做。是“星期一早上6点到凌晨1点”实际上,星期一早上6点到星期二凌晨1点。如果您在这里发布的代码与代码笔不同,最好使用哈希
weekday=>hours\u range
而不是一堆
。在代码笔中,dayOfWeek=1表示星期一,这意味着执行最后一个else块。@Teemu“星期一早上6点到凌晨1点”实际上周一早上6点到周二凌晨1点是正确的
if( ([1,2,3,4,5].indexOf(dayOfWeek) >= 0) && 
   ((hour >= 6 && hour <= 23) || hour == 0) ) { ... }