Я использую приведенный ниже код, чтобы не показывать всплывающее окно после закрытия. Я попробовал приведенный ниже код, но он не работает. Я проверил на Google, но не нашел решение.
Не могли бы вы помочь мне с решением?
$(document).ready(function() { $('.closeme').click(function() { $('#popup').hide(); if ($.cookie('whenToShowDialog') == null) { // Create expiring cookie, 2 days from now: $.cookie('whenToShowDialog', 'yes', { expires: 2, path: '/' }); // Show dialog $('#popup').show(); } }); });
#popup { background-color: #f8f8f8; padding: 20px; width: 400px; position: relative; } #popup h2 { font-size: 25px; } .closeme { position: absolute; top: 10px; right: 15px; cursor: pointer; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/js/all.min.js"></script> <div id="popup"> <div class="closeme"><i class="far fa-window-close"></i></div> <h2>Test popup</h2> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
Да, наконец, я нашел решение, я установил display: none на #popup в CSS.
display: none
#popup
Сначала он проверит, действительно ли куки доступны или нет. Если нет, то он покажет всплывающее окно, и как только вы закроете всплывающее окно, он установит файлы cookie на один день.
$(document).ready(function() { if ($.cookie('whenToShowDialog') != "true") { $("#popup").show(); $(".closeme").click(function() { $("#popup").hide(); // set the cookie for 24 hours var date = new Date(); date.setTime(date.getTime() + 24 * 60 * 60 * 1000); $.cookie('whenToShowDialog', "true", { expires: date }); }); } });
#popup { background-color: #f8f8f8; padding: 20px; width: 400px; position: relative; display: none; } #popup h2 { font-size: 25px; } .closeme { position: absolute; top: 10px; right: 15px; cursor: pointer; }