powepmakerru
@powepmakerru

Как не покатывать блок семь дней?

Подскажите пожалуйста скрипт для того, чтобы данный попап после первого показа не отображался следующую неделю

<html lang="ru">
<head>
 <meta charset="UTF-8">
<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;
	/*--CSS3 CSS3 Тени для Блока--*/
	-webkit-box-shadow: 0px 0px 20px #000;
	-moz-box-shadow: 0px 0px 20px #000;
	box-shadow: 0px 0px 20px #000;
	/*--CSS3 Закругленные углы--*/
	-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>
</head>
<body>
<div id="parent_popup" onclick="document.getElementById('parent_popup').style.display='none';">
  <div id="popup">

Здесь содержание 

  
<a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a>
  </div>
</div>
<script type="text/javascript">
	var delay_popup = 5000;
	setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
</script>
</body>
</html>
  • Вопрос задан
  • 2436 просмотров
Пригласить эксперта
Ответы на вопрос 2
@stup1d
Решение содержится в тэгах к вопросу - cookie. Ставить и читать куки можно так (взято из интернета):
function getCookie(c_name){
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++)
    {
        x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
        y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
        x=x.replace(/^\s+|\s+$/g,"");
        if (x==c_name)
        {
            return unescape(y);
        }
    }
}

function setCookie(c_name,value,exdays){
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
}


Т.е. на клик по "закрыть попап" делаем
setCookie('popup', 1, 7);

А перед его отображением проверяем ее наличие
if ( ! getCookie('popup')) {
    ...
}


Но проверку налиия куки советую производить на серверной стороне, дабы не отдавать ненужный код пользователю без необходимости.
Ответ написан
Комментировать
lxfr
@lxfr
Поставьте куку на неделю по событию открытия и перед открытием проверяйте эту куку и надобность ее установки.
Как работать с куками прекрасно знает гугл.

if (кука != true) {
открыть окно();
поставить куку равную true на неделю ();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы