设置jQuery cookie以仅显示一次弹出窗口 [英] Set a jQuery cookie to show popup only once

查看:160
本文介绍了设置jQuery cookie以仅显示一次弹出窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是jQuery的绝对新手。我正在学习,但有一个圣诞节消息,我需要在没有时间起床和运行。

I'm an absolute newbie in jQuery. I'm learning, but there is a Christmas message that I need to get up and running within no time.

我已经包括这些在页面的标题:

I've included these in the header of the page:

<script type="text/javascript" src="scripts/jquery-1.7.min.js"></script>
<script type="text/javascript" src="scripts/jquery.cookies.2.2.0.min.js"></script>` 

然后按照消息使用jQuery弹出窗口。这是:

Then follows the message using a jQuery popup. Here it is:

<script type="text/javascript">
$(document).ready(function() {  
        var id = '#dialog';

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set height and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect     
        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.7);  

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2-220);

        //transition effect
        $(id).fadeIn(2000);     

    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();

        $('#mask').hide();
        $('.window').hide();
    });     

    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });     

});

</script>

正文 message:

<div style="top: 199.5px; left: 200px; display: none;" id="dialog" class="window">  
XMAS MESSAGE
<a href="#" class="close">Shut this popup.</a>
</div>

到目前为止很好。下一步是不要让我的回访者用同样的信息一遍又一遍(推迟六十天就足够了)。

So far so good. The next step would be not to bore my returning visitors with the same message over and over (postpone for sixty days would be good enough).

所以我想使用jQuery cookie插件设置一个cookie:

So I want to set a cookie using the jQuery cookie plug-in:

function setCookie() {
    $.cookie('test_status', '1', { path: '/', expires: 60 });
    return false;
}

然后,当访问者下次访问同一页面,

Which is then found the next time a visitor hits the same page and the Christmas message is not shown till the message expires.

现在 if-else 语句是更高级的jQuery m不熟悉。

Now if-else statements are the higher kind of jQuery I'm not familiar with just yet. So, could anyone explain it to me?

推荐答案

这样的东西可能有帮助:

Something of this kind might be of help:


$(document).ready(function(){
   if ($.cookie('test_status') != '1') {
    //show popup here
    $.cookie('test_status', '1', { expires: 60}); }
   });

这篇关于设置jQuery cookie以仅显示一次弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆