Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Время появления div (https://javascript.ru/forum/misc/80298-vremya-poyavleniya-div.html)

Drakon5505 20.05.2020 05:43

Время появления div
 
Здравствуйте. Скажу честно - я самоучка(курсы в инете, книжки), а моя основная работа мало связана с программированием, поэтому что то изучать и смотреть я не всегда успеваю(программирую для себя около 2х лет). А тут и вообщем не обращал внимания на js почти год. Так вот в чем суть - мне на сайте надо реализовать такую фишку:
есть определенный div - нужно чтобы он показывался в определенные дни и в определенное время. Есть идея, что при каждой загрузке страницы этому div через js будет присваиваться класс active если функция будет соответствовать условию, что день недели -нужный и час нужный. Но вот только я не помню как это реализовать.
Я не прошу предоставить мне готовый код, а просто подсказать какие функции мне стоит почитать - посмотреть, чтобы реализовать свою идею, или может у вас есть вариант получше.

laimas 20.05.2020 06:00

Если и в определенное время, то нужно таймером проверять текущую дату/время и соответственно показывать/скрывать блок.

https://developer.mozilla.org/ru/doc...ers/setTimeout
https://learn.javascript.ru/settimeout-setinterval
https://developer.mozilla.org/ru/doc...l_Objects/Date

Error 25.05.2020 01:30

Я как-то сделал страницу, содержание и оформление которой менялись в зависимости от времени суток. Обошёлся без setTimeout — всякий раз при загрузке страницы срабатывал примерно такой скрипт:
let time = false;
let d = new Date();
if (d.getHours() < 9) {
    time = true
}
if (time) {
    div.classList.add('active')
}

Блок будет виден только ночью (или только днём).

Но если блок должен появляться, скажем, в 30 минут каждого часа, то придётся использовать и setTimeout.

рони 25.05.2020 10:06

появление блока при входе с полуночи до 9 часов
 
Error,
как вариант ...
<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    html.active .attention{
        height: 100px;
        background-color: #4047CC;
   }
    </style>
  <script>
    let d = new Date();
    document.documentElement.classList.toggle('active', d.getHours() < 9)
  </script>

</head>
<body>
<div class="attention"></div>
</body>
</html>

рони 25.05.2020 10:11

Drakon5505,
на всякий случай ...
расписание от и до

Error 25.05.2020 10:38

рони,
действительно! Сейчас понял, что не использую всех возможностей метода toggle — передача значения в качестве второго аргумента может упростить код.


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