Показать всплывающее окно jQuery только при первом посещении страницы
Я новичок в jQuery, и у меня есть некоторые потребности на моем сайте. Я хочу показать всплывающее окно jQuery div в первый раз, только когда пользователь придет. Нет необходимости показывать снова и снова.
Тем не менее, я использую это, но я не знаю, как скрыть во второй раз:
var isshow=0;
$(document).ready(function() {
if (isshow == 0) {
$('#jPopup').show();
}
isshow = 1;
});
Но переменная ishow инициализируется каждый раз.
Ответы
Ответ 1
Вы можете использовать localstorage. Его легко понять и использовать.
$(document).ready(function() {
var isshow = localStorage.getItem('isshow');
if (isshow== null) {
localStorage.setItem('isshow', 1);
// Show popup here
$('#jPopup').show();
}
});
Он покажет вам всплывающее окно при первом посещении вашего сайта.
Ответ 2
Вы можете использовать SessionStorage или LocalStorage для этого в соответствии с вашими потребностями.
Если вам нужно сделать только для этого сеанса, используйте SessionStorage. Если он должен храниться постоянно в браузере пользователя, используйте LocalStorage.
$(document).ready(function(){
if(sessionstorage && !sessionStorage.getItem('isshow')){
$('#jPopup').show();
sessionStorage.setItem('isshow', true);
}
});
Ответ 3
Вы можете использовать localStorage для этой цели, как показано ниже:
$(document).ready(function(){
var shown= localStorage.getItem('isshow');
if(shown !="t"){
$('#jPopup').show();
localStorage.setItem('isshow', "t");
}
});
Ответ 4
Вы можете установить cookie для хранения значения и проверить, не установлено ли оно, а затем отобразить всплывающее окно:
$(document).ready(function() {
var isshow = $.cookie("isshow");
if (isshow == null) {
$.cookie("isshow", 1); // Store
// Show popup here
$('#jPopup').show();
}
});
Или вы можете установить localStorage
. Вот рабочий пример. jsFiddle
$(document).ready(function() {
if(localStorage.getItem('popState') != 'shown') {
$("#popup").delay(2000).fadeIn();
localStorage.setItem('popState','shown')
}
});
Ответ 5
Вам нужно скрыть его при загрузке или сделать это в css (рекомендуется), а затем проверить localstorage, чтобы узнать, является ли это первым посещением.
$(document).ready(function() {
$('#jPopup').hide(); //hide on load or in css, later check if its the first visit
var isshow= localStorage.getItem('status');
//check if it is the first visit
if (isshow == null || isshow == '') {
//set variable to 1
localStorage.setItem('isshow', 1);
$('#jPopup').show();
}
});