Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задать правильное условие для IF (https://javascript.ru/forum/misc/69133-zadat-pravilnoe-uslovie-dlya-if.html)

Смайл 01.06.2017 00:34

Задать правильное условие для IF
 
Здравствуйте, поправьте пожалуйста! Нужно чтобы окно alert открывалось только по условию, но оно открывается каждый раз как перезагружаешь страницу. И подскажите как правильно задать минуты в коде (как я их только не пробовал :-E ).

<script type="text/javascript">
var h = new Date().getHours();
if (h > 2 || h < 11) alert("Заведение закрыто! Доставка работает с 11:30 до 02:30.");
</script>

рони 01.06.2017 00:42

Смайл,
var h = new Date();
 h = 100 * h.getHours() + h.getMinutes();
 if (h > 230 && h < 1130) alert("Заведение закрыто! Доставка работает с 11:30 до 02:30.");

Смайл 01.06.2017 00:59

Спасибо, что ответили! Alert не открывает, но код почему-то отображается на странице как текст.

Не подскажите почему и зачем нужно часы умножать на 100?) (тему про дату и время читал, но такого не видел).

рони 01.06.2017 01:02

Цитата:

Сообщение от Смайл
но код почему-то отображается на странице как текст.

вы может теги забыли
<script>
//тут код
</script>


Цитата:

Сообщение от Смайл
Не подскажите почему и зачем нужно часы умножать на 100?)

потому что это работает в данном случае

Смайл 01.06.2017 01:04

Я нубас - забыл скрипт открыть/закрыть. Работает! Огромное спасибо!
2 дня сам мучился))

рони 01.06.2017 01:06

Смайл,
<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>

Смайл 01.06.2017 01:15

Действительно работает. Спасибо за пример с проверкой!

Подскажите, можно ли подобное сделать только без alert, а как заменяемую надпись на странице. Например сейчас надпись "открыто", а в нерабочее время магазина сменялось бы на "закрыто" (без наведения мышкой, клика, а просто по времени) или это не java script?

рони 01.06.2017 01:23

Смайл,
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>

Смайл 01.06.2017 01:35

Это именно то, что мне и было нужно! Просто alert попалось на глаза первее.
Вы избавили меня от мучений, еще раз СПАСИБО!):dance:


Часовой пояс GMT +3, время: 14:18.