Задать правильное условие для IF
Здравствуйте, поправьте пожалуйста! Нужно чтобы окно alert открывалось только по условию, но оно открывается каждый раз как перезагружаешь страницу. И подскажите как правильно задать минуты в коде (как я их только не пробовал :-E ).
<script type="text/javascript"> var h = new Date().getHours(); if (h > 2 || h < 11) alert("Заведение закрыто! Доставка работает с 11:30 до 02:30."); </script> |
Смайл,
var h = new Date();
h = 100 * h.getHours() + h.getMinutes();
if (h > 230 && h < 1130) alert("Заведение закрыто! Доставка работает с 11:30 до 02:30.");
|
Спасибо, что ответили! Alert не открывает, но код почему-то отображается на странице как текст.
Не подскажите почему и зачем нужно часы умножать на 100?) (тему про дату и время читал, но такого не видел). |
Цитата:
<script> //тут код </script> Цитата:
|
Я нубас - забыл скрипт открыть/закрыть. Работает! Огромное спасибо!
2 дня сам мучился)) |
Смайл,
<script type="text/javascript">
var h = new Date();
h.setHours(3) //убрать это для проверки 3 часа ночи
h = 100 * h.getHours() + h.getMinutes();
if (h > 230 && h < 1130) alert("Заведение закрыто! Доставка работает с 11:30 до 02:30.");
</script>
|
Действительно работает. Спасибо за пример с проверкой!
Подскажите, можно ли подобное сделать только без alert, а как заменяемую надпись на странице. Например сейчас надпись "открыто", а в нерабочее время магазина сменялось бы на "закрыто" (без наведения мышкой, клика, а просто по времени) или это не java script? |
Смайл,
https://learn.javascript.ru/modifying-document
<div id="slider"></div>
<script>
var h = new Date();
h.setHours(3) //убрать это для проверки 3 часа ночи
h = 100 * h.getHours() + h.getMinutes();
h = (h > 230 && h < 1130) ? "Заведение закрыто! Доставка работает с 11:30 до 02:30." : "открыто";
document.querySelector("#slider").innerHTML = h;
</script>
|
Это именно то, что мне и было нужно! Просто alert попалось на глаза первее.
Вы избавили меня от мучений, еще раз СПАСИБО!):dance: |
| Часовой пояс GMT +3, время: 09:14. |