我有一个用户必须登录的网站,一旦完成,他们将被定向到新页面并出现一个弹出框。我没有问题显示弹出框,但是如果你一遍又一遍地刷新页面,弹出框就会出现。我希望它只在他们登录后显示,而在此之后再也不会显示,只要他们永远不会退出。这意味着如果他们重新刷新页面或类似的东西,弹出窗口将不再出现。是否有某种插件或简单的代码(我是Jquery的初学者)?
<div id="popup-image-back">
<div class="popup-textbox">
<div class="textbox-title">WE’VE HAD A MAKEOVER!</div>
<div class="textbox-p">With fewer restrictions, more destinations and even better rewards you can start saving more money!</div>
</div>
<img class="new-popup-xclose" src="images/close-x-dark.png" />
</div>
<div id="back-wrapper"></div>
的JavaScript
$(document).ready(function () {
$('#back-wrapper').fadeIn(1000, function () {
$('#popup-image-back').fadeIn(1000);
});
$(".new-popup-xclose").click(function () {
$('#popup-image-back').fadeOut(1000);
$('#back-wrapper').fadeOut(1000);
});
});
答案 0 :(得分:2)
虽然这个帖子可能很古老,但我想给出OP可以使用的答案。通过使用cookie,您可以将页面设置为仅显示一次。由于大多数浏览器都支持cookie,因此这比使用当前浏览器所拥有的内部存储引擎更可靠。
$(document).ready(function(){
// test for cookie here
if ($.cookie('test_status') != '1') {
//show popup here
window.open('YOUR POPUP URL HERE','windowtest','toolbar=0,status=0,width=500,height=500');
// set cookie here if not previous set
var date = new Date();
var minutes = 30;
date.setTime(date.getTime() + (minutes * 60 * 1000));
$.cookie('test_status', '1', {expires: date});
}
});
要对此进行测试,请务必在每次刷新之间清除Cookie。
答案 1 :(得分:0)
您可以使用localstorage
来执行此操作:
if (localStorage.getItem("iswrpdivloaded") === null) {
$('#back-wrapper').fadeIn(1000,function(){
$('#popup-image-back').fadeIn(1000);
});
localStorage.setItem('iswrpdivloaded', 1);
}
答案 2 :(得分:0)
您可以使用此功能进行一次弹出。
$(window).load(function(){
$('.popUp').show();
$('.close').click(function(){
$('.popUp').slideUp();
});
setTimeout('$(".popUp").fadeOut()', 10000);
});