Показать / скрыть div в зависимости от дня и времени - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь показать конкретный div в зависимости от дня и времени.

В часы с 8:00 до 19:00 с понедельника по пятницу и с 8:30 до 16:00 по субботам, div с «мыоткрытое сообщение, чтобы показать. Вне этих часов показывается закрытое сообщение div.

Я видел другие сообщения ( jquery - показать / скрыть div в зависимости от дня и времени ), которые достигают этого за один день, но недля двух разных дневных групп и разных наборов часов работы, и я не смог понять, как заставить его работать.

Любая помощь будет принята с благодарностью

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Вам просто нужно добавить еще одно условие для субботы в этом ответе

var Now = new Date('11/4/2019 10:11:00');
 var CurrentDay = Now.getDay();
 if (CurrentDay!=6)
 {
      var OpenHour=8;
      var OpenMin=0;
      var CloseHour=19;
      var CloseMin=0;
 }
 else
 {
 var OpenHour=8;
      var OpenMin=30;
      var CloseHour=16;
      var CloseMin=0;
 }
var  OpeningTime = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), OpenHour, OpenMin);
var  ClosingTime = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), CloseHour, CloseMin);
var  Open = (Now.getTime() > OpeningTime.getTime() && Now.getTime() < ClosingTime.getTime());
if (CurrentDay !== 0 && Open) {
        $('.openstatus').toggle();
    }
.hours {
      display:none;  
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="hours openstatus">We are OPEN</div>
    <div class="closed openstatus">We are CLOSED</div>
0 голосов
/ 30 октября 2019

Вы можете сделать что-то вроде этого:

<script>
function ShowOnTime(element){

    var daysWorking = [{dayWorking: 1, startTimeWorking: '8', endTimeWorking: '19'}, {dayWorking: 2, startTimeWorking: '8', endTimeWorking: '19'}, {dayWorking: 3, startTimeWorking: '8', endTimeWorking: '19'}, {dayWorking: 4, startTimeWorking: '8', endTimeWorking: '19'}, {dayWorking: 5, startTimeWorking: '8', endTimeWorking: '19'}, {dayWorking: 6, startTimeWorking: '830', endTimeWorking: '16'}];
    var a = new Date(); 
    var nowDay = a.getDay(); //0-6 denotes Sunday, monday, tuesday etc etc.
    var nowHours = a.getHours();
    var nowMinutes = a.getMinutes();

    if(daysWorking.find(o => o.dayWorking === nowDay)){
        if (daysWorking.find(o => o.startTimeWorking <= (nowHours+''+nowMinutes)) && daysWorking.find(o => o.endTimeWorking >= (nowHours+''+nowMinutes))) {
            $(element).show();
        } else {
            $(element).hide();
        }
    } else {
        $(element).hide();
    }

}

$(document).ready(function(){
    ShowOnTime("#TestDiv"); 
});
</script>

Надеюсь, это даст вам некоторое представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...