Окно предупреждение 18+
Кто-нибудь делал всплывающее окно с предупреждением что материалы могут что-то там содержать.
Если делали подскажите как, а то что-то не получается сделать ссылку на эту же страницу, где появилось окно.
Заранее спасибо.
instantcms.ru/users/files/download6058.html
Если измените фоновую картинку на картинку с текстом, уберете закрывающий крестик и кнопку "Играть", а вместо "Нет, спасибо", напишите "Подтверждаю что мне больше 18 лет", получится то, что вам нужно.
Да пжалста:Заранее спасибо.
<style>
#popup {
display: table;
position: fixed; top: 0; left: 0;
z-index: 100;
height: 100%;
width: 100%;
background: rgba(240,240,240,.9);
visibility: hidden;
animation: animaciya 1s 5s forwards; /* 5s — это количество секунд по истечении которых появляется сообщение */
cursor: pointer;
}
@keyframes animaciya {
from {visibility: hidden;}
to {visibility: visible;}
}
#popup figure {
display: table-cell;
vertical-align: middle;
}
#popup div, #popup figcaption, #popup figure:before {
max-width: 500px; /* максимальная ширина */
margin: 0 auto;
border-style: solid;
border-color: rgb(88,125,164);
background: #fff;
}
#popup figure:before { /* стиль кнопки "закрыть" */
content: "закрыть";
display: block;
padding: 0 1%;
border-width: 4px 4px 0 4px;
border-radius: 5px 5px 0 0;
text-align: right;
color: rgb(88,125,164);
}
#popup div, #popup figcaption {
padding: 1%;
cursor: default;
}
#popup figcaption {
position: relative;
border-width: 0 4px 0 4px;
font-size: 150%;
text-transform: uppercase;
color: rgb(100,100,100);
}
#popup figcaption:before { /* стиль восклицательного знака, не поддерживается Google Chrome. Его можно заменить на что-то более приемлемое */
content: "\26a0 \20 \20";
color: red;
font-size: 150%;
vertical-align: middle;
}
#popup div {
border-width: 0 4px 4px 4px;
border-radius: 0 0 5px 5px;
}
</style>
<div id="popup">
<figure>
<figcaption>заголовок Бегите с этого сайта!</figcaption>
<div>содержание материалы могут что-то там содержать!</div>
</figure>
</div>
<script>
window.onkeyup = okno; // нажатие Esc, см. условие "e.keyCode==27"
document.getElementById('popup').onclick = okno;
function okno(e) {
if (e.target.nodeName != 'DIV' && e.target.nodeName != 'FIGCAPTION' || e.keyCode==27) { // через && перечисляются теги, клинкув на которые окно не будет закрыто; сюда же можно включить тег A или IFRAME
document.getElementById('popup').style.display='none';
localStorage.setItem('popup1', 'none');
}
}
if(localStorage.getItem('popup1')) {
document.getElementById('popup').style.display='none';
}
</script>
Это немного не то. Надо чтобы:
1-нажимаетДа мне 18 остается на той же странице, запись идет в куки, например месяц
2-при закрытии окна, нажимании куда угодно, пользователя отправляет например на главную, без записи в куки.
Как-то так.
Для этого вам нужна форма(можно и без неё), аякс запрос на сервер и обработчик запроса. Целый модуль получается.Это немного не то. Надо чтобы:
<div id="bg_popup"> <div id="popup"> <a id="setCookie" class="close" href="ххххх" title="Закрыть" onclick="document.getElementById('bg_popup').style.display='none'; return false;">Закрыть</a> <h1>ВНИМАНИЕ!</h1> <p>Данный сайт может содержать материалы для взрослых.<br> Чтобы продолжить, подтвердите, что вам уже исполнилось 18 лет.</p> <p> <a href="хххххх">Да, мне уже есть 18</a> <a href="хххххх">Нет, мне нет 18 лет</a> </p> </div> </div> </div> <script type="text/javascript"> $(document).ready(function(){ $("#setCookie").click(function () { $("#bg_popup").hide(); }); if ( $.cookie("popup") == null ) { setTimeout(function(){ $("#bg_popup").show(); }, 2000) } else { $("#bg_popup").hide(); } }); </script>
здесь есть куки раз в день независимо от того какой вариант выбран. Поставьте показывать только гостям и достаточно.Это скрипт всплывающего окна с баннером от алавар.
Не, ну можете конечно подождать пока уважаемый Lora, напишет вам модуль)
А сейчас куда перенаправляет?проблема в том, что не пойму как сделать чтобы когда нажимаешь да мне 18 оставаться в этом же контенте
Как то сомнительно.Так как на #setCookie повешены два onclick.Не уверен 100%, но какой из них срабатывает? Мне думается, что тот который закрывает окно.здесь есть куки раз в день независимо от того какой вариант выбран.
<div id="bg_popup"> <div id="popup"> <a class="close" href="/" title="Закрыть">Закрыть</a> <h1>ВНИМАНИЕ!</h1> <p>Данный сайт может содержать материалы для взрослых.<br>Чтобы продолжить, подтвердите, что вам уже исполнилось 18 лет.</p> <p> <a id="setCookie" href="#">Да, мне уже есть 18</a> <a href="/">Нет, мне нет 18 лет</a> </p> </div> </div> <script> $(function(){ $('#setCookie').click(function(){ $.cookie('popup', '1', {expires: 30}); $('#bg_popup').hide(); }); $('#bg_popup').hide(); if(!$.cookie('popup')){ setTimeout(function(){ $('#bg_popup').show(); }, 2000) } }); </script>
<html> <head> <meta charset="utf-8"> <style> #bg_popup { background: #000; height: 100%; opacity: 0.9; position: fixed; width: 100%; z-index: 100; top: 0; left: 0; } #popup { background-color: #fff; height: 200px; position: fixed; color: #f00; width: 300px; padding: 2px; } </style> </head> <body> <div id="bg_popup"> <div id="popup"> <p style="text-align: right;"><a class="close" href="/" title="Закрыть">Закрыть</a></p> <h1><p style="text-align: center;">ВНИМАНИЕ!</p></h1> <p style="text-align: justify;">Данный сайт может содержать материалы для людей старше 18 лет.<br>Чтобы продолжить, подтвердите, что вам уже исполнилось 18 лет.</p> <p style="text-align: center;"> <a id="setCookie" href="#">Да, мне есть 18 лет</a> <a href="/">Нет, мне нет 18 лет</a> </p> </div> </div> <script> $(function(){ $('#setCookie').click(function(){ $.cookie('popup', '1', {expires: 30}); $('#bg_popup').hide(); }); $('#bg_popup').hide(); if(!$.cookie('popup')){ setTimeout(function(){ $('#bg_popup').show(); }, 2000) } }); $(function() { alignCenter($('#popup')); // центрировали окно $(window).resize(function() { alignCenter($('#popup')); // центрирование при ресайзе окна }) // функция центрирования function alignCenter(elem) { elem.css({ left: ($(window).width() - elem.width()) / 2 + 'px', // получаем координату центра по ширине top: ($(window).height() - elem.height()) / 2 + 'px' // получаем координату центра по высоте }) } }) </script> </body> </html>