只显示Jquery Popup一次

时间:2014-02-24 15:25:26

标签: jquery popup

我有一个用户必须登录的网站,一旦完成,他们将被定向到新页面并出现一个弹出框。我没有问题显示弹出框,但是如果你一遍又一遍地刷新页面,弹出框就会出现。我希望它只在他们登录后显示,而在此之后再也不会显示,只要他们永远不会退出。这意味着如果他们重新刷新页面或类似的东西,弹出窗口将不再出现。是否有某种插件或简单的代码(我是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);
    });
});

3 个答案:

答案 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);
    });