Проверка количества открытий модального окна.
При первых трех запусках страницы сайта должно всплывать модальное окно с краткой информацией о Вас. Всплывающее окно должно закрываться по клику на крестик или же по клику вне модального окна;
Я реализовал это с помощью localStorage и все работает, но такой подход не является корректным само модальное окно: <div id="bg_popup" onclick=""></div> <div id="popup"> <a id="setCookie" class="close" href="#" title="Close" onclick=""> <i class="fa fa-times" aria-hidden="true"></i> </a> <h2>Hello!</h2> <p>Hello, my name is Nik.</p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo eos architecto maiores ut dolorem esse voluptate saepe doloribus facere eligendi velit rerum, harum, tempora voluptatibus sed natus voluptatem quos iusto. </p> </div> CSS код: Код:
#bg_popup{
$(document).ready(function(){
// localStorage.clear();
if (localStorage.length < 3){
localStorage.setItem(localStorage.length+1,localStorage.length+1);
$("#setCookie").click(function () {
var date = new Date();
date.setTime(date.getTime() + (60 * 1));
$.cookie("popup", "", {expires: date} );
$("#bg_popup").hide();
});
if ( $.cookie("popup") == null ){
setTimeout(function(){
$("#bg_popup").show();
}, 0)
}else {
$("#bg_popup").hide();
}
$('#bg_popup').click(function () {
$(this).hide();
$('#popup').hide();
});
$(' .close').click(function (e) {
e.preventDefault();
$('#bg_popup, #popup').hide();
});
}else{
$('#bg_popup, #popup').hide();
}
});
как решить такую проблему? |
Цитата:
|
localStorage счётчик открытий окна
serenevenkiy,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#bg_popup{
background: rgba(0, 0, 0, 0.7);
bottom: 0;
display: none;
left: 0;
position: fixed;
right: 0;
top: 0;
z-index: 99;
}
#popup h2{
margin-bottom: 25px;
text-align: center;
}
#popup {
background:#fff;
border-radius: 10px;
left: 0;
margin-left: auto;
margin-right: auto;
padding: 25px 25px 60px 25px;
position: absolute;
right: 0;
top: 25%;
width: 575px;
z-index: 101;
}
.close {
color: #222;
cursor:pointer;
display:block;
height:20px;
position:absolute;
right:5px;
top:5px;
width:20px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var a = +localStorage.xxx || 0;
3 > a && (localStorage.xxx = ++a, $("#bg_popup").show().on("click", function(a) {
($(a.target).closest(".close").length || a.target == this) && $("#bg_popup").hide()
}))
});
</script>
</head>
<body>
<div id="bg_popup">
<div id="popup">
<a id="setCookie" class="close" href="#" title="Close" onclick="">
<i class="fa fa-times" aria-hidden="true">X</i>
</a>
<h2>Hello!</h2>
<p>Hello, my name is Nik.</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo eos architecto maiores ut dolorem esse voluptate saepe doloribus facere eligendi velit rerum, harum, tempora voluptatibus sed natus voluptatem quos iusto.
</p>
</div>
</div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 21:26. |