Задать правильное условие для 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, время: 16:21. |