JavaScript для изменения цвета страницы в зависимости от дня недели и расписания - PullRequest
0 голосов
/ 22 апреля 2020

Я работаю над созданием страницы, которая будет простой для просмотра страницы, которая сообщает пользователю, открыт магазин или закрыт. Я пытаюсь, чтобы он отображал зеленый фон и «да, открыто» или красный фон с «нет, закрыто». Расписание меняется каждый день недели, а в некоторые дни магазин закрывается в полдень и открывается позже. У меня возникают проблемы с корректным изменением фона и текста в зависимости от времени.

Я пытался реализовать решения из аналогичной проблемы этого пользователя , но я не мог заставить их работать , Я испробовал как решение от «Арнав Аггарвал», так и решение под ним от «Даркиса». Arnav's использует флаг, установленный в false и if.

При использовании флага, кажется, не заботятся о часах, только о дне, скажем, возможно, я просто делаю это неправильно. Ниже приведен фрагмент кода, но у меня также есть код, настроенный на codepen.io

let t = document.getElementById("Status");
t.innerHTML = "No";
document.body.style.backgroundColor = "red";

var q = new Date();
var hour = q.getHours();
var day = q.getDay();

function isBetween(testNumber, lowerLimit, upperLimit) {
  return testNumber >= lowerLimit || testNumber <= upperLimit;
}

var flag = false;

if (day === 2 && (isBetween(hour, 0, 5) || isBetween(hour, 6, 7))) {
  flag = true;
}

if (flag) {
  let t = document.getElementById("Status");
  t.innerHTML = "Yes";
  document.body.style.backgroundColor = "green";
}
#status {width: 3em}
<div id="Status"></div>

Для меня код Арнава кажется мне более быстрым, поскольку он более понятен в происходящем, и я не очень хорошо знаком с циклами и массивами, такими как Даркиса ответить.

Я также попытался сделать серию операторов if else, но они не сработают, если не будет [6] или субботы.

Код с использованием решения Arnav's Flag

Код с использованием сложенного If Else

...