Всплывающее окно при первичном открытии сайта

Тема в разделе "JavaScript", создана пользователем vave, 6 июл 2015.

Модераторы: ZiX
  1. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Как сделать так что бы окошко в данном коде, открывалось всего 1 раз в сутки?

    Код:
    <style>
    
    #parent_popup {
      background-color: rgba(0, 0, 0, 0.8);
      display: none;
      position: fixed;
      z-index: 99999;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
    #popup {
      background: #fff;
        max-width: 520px;
        width: 100%;
        margin: 10% auto;
        padding: 5px 20px 13px 20px;
        border: 10px solid #ddd;
        position: relative;
        -webkit-box-shadow: 0px 0px 20p
        -moz-box-shadow: 0px 0px 20px #000;
        box-shadow: 0px 0px 20px #000;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
    }
    #popup h1{
        font:28px Monotype Corsiva, Arial;
        font-weight: bold;
        text-align: center;
        color: #008000;
        text-shadow: 0 1px 3px rgba(0,0,0,.3);
        }
    #popup h2{
        font:24px Monotype Corsiva, Arial;     
        color: #008000;
        text-align: left;
        text-shadow: 0 1px 3px rgba(0,0,0,.3);
        }
    
    .close {
        background-color: rgba(0, 0, 0, 0.8);
        border: 2px solid #ccc;
        height: 24px;
        line-height: 24px;
        position: absolute;
        right: -24px;
        cursor: pointer;
        text-align: center;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.9);
        font-size: 14px;
        font-family: helvetica, arial;
        text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
        top: -24px;
        width: 24px;
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        -ms-border-radius: 15px;
        -o-border-radius: 15px;
        border-radius: 15px;
        -moz-box-shadow: 1px 1px 3px #000;
        -webkit-box-shadow: 1px 1px 3px #000;
        box-shadow: 1px 1px 3px #000;
    }
    .close:hover {
        background-color: rgba(255, 69, 0, 0.8);
    }
    </style>
    
    
    
    
    
    
    <div id="parent_popup">
      <div id="popup">
    dfsdfsdf
    
    
    <a class="close" title="close" onclick="document.getElementById('parent_popup').style.display='none';">X</a>
      </div>
    </div>
    <script type="text/javascript">
        var delay_popup = 1000;
        setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
    </script>
     
  2. Java

    Java

    Регистр.:
    14 окт 2011
    Сообщения:
    155
    Симпатии:
    34
    Писать куки на JS, либо воспользоваться моим говнокоддингом на PHP:
    <?php
    setcookie('tile', time()+60*60*24);
    if (!isset($_COOKIE['time'])) {
    include("Ваш файл с вашим кодом");
    }
    ?>
     
  3. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    почему то всё равно после обновления странички, окно снова открывается
     
  4. BaBL

    BaBL Постоялец

    Регистр.:
    13 ноя 2012
    Сообщения:
    144
    Симпатии:
    87
    Надо смотреть почему кука не поставилась. Возможно до нее был какой-то echo или выведена какая-то строка и Headers already sent. Приведенный выше код - не "коробочное" решение. Первую строку с set вам надо поставить в самое начало файла, а include - уже где код окна печатать.
     
  5. Shurschik

    Shurschik Писатель

    Регистр.:
    15 июн 2015
    Сообщения:
    6
    Симпатии:
    1

    в JS Я не профи но думаю что ты задал не ту функцию. тебе надо использовать интервал а не тайм аут.
    setTimeout(функция, таймаут, параметры для функции)

    –планирует запуск функции, через определенное количество миллисекунд.

    setInterval(функция, интервал, параметры для функции)

    –похож на setTimeoutно автоматически заново планирует повторное использование метода.
    попробуй может получится.