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

vave

Полезный
Регистрация
22 Июн 2007
Сообщения
466
Реакции
16
Как сделать так что бы окошко в данном коде, открывалось всего 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>
 
Писать куки на JS, либо воспользоваться моим говнокоддингом на PHP:
<?php
setcookie('tile', time()+60*60*24);
if (!isset($_COOKIE['time'])) {
include("Ваш файл с вашим кодом");
}
?>
 
Писать куки на JS, либо воспользоваться моим говнокоддингом на PHP:
<?php
setcookie('tile', time()+60*60*24);
if (!isset($_COOKIE['time'])) {
include("Ваш файл с вашим кодом");
}
?>
почему то всё равно после обновления странички, окно снова открывается
 
почему то всё равно после обновления странички, окно снова открывается
Надо смотреть почему кука не поставилась. Возможно до нее был какой-то echo или выведена какая-то строка и Headers already sent. Приведенный выше код - не "коробочное" решение. Первую строку с set вам надо поставить в самое начало файла, а include - уже где код окна печатать.
 
Как сделать так что бы окошко в данном коде, открывалось всего 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>


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

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

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

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