【问题标题】:Javascript code for creating cookie用于创建 cookie 的 Javascript 代码
【发布时间】:2014-09-28 14:15:05
【问题描述】:

我正在尝试使用 Javascript 在网页上只显示一次弹出窗口。

所以在页面加载时,我创建了一个 cookie。然后我有一个 if 语句——如果已经制作了 cookie,我不希望显示弹出窗口——所以我将其淡出。 (有没有更好的方法让它根本不出现?)

I have created a codebox here.

这里的JS,它所针对的两个区域都是简单的div:

$(document).ready(function(){
    var visited = $.cookie('visited'); // create the cookie
    if (visited == 'yes') {
       $("#popup").fadeOut();
       $("#popup").fadeOut();
    } 
    else 
    {
    $("#hover").click(function(){
           $(this).fadeOut();
       $("#popup").fadeOut();
      });
    $("#close").click(function(){
           $("#hover").fadeOut();
       $("#popup").fadeOut();
    });
    $.cookie('visited', 'yes', {
        expires: 7 // the number of days the cookie will be effective
    });                    
    }
  });

不幸的是,似乎没有任何 Javascript 运行 - 每次用户导航到该页面时,弹出窗口将不再关闭或识别点击和显示。

我在这里做错了什么,我该如何解决?

【问题讨论】:

  • 我建议您在缺少的 cookie 上使用 fadeIn(),而不是在现有 cookie 上使用 fadeOut。您的代码看起来不错,除了两条 $("#popup").fadeOut(); 行 - 其中一条可能应该是#hover,但我们需要查看 html 部分以获得更好的答案

标签: javascript jquery html cookies web


【解决方案1】:

我使用下面的代码只显示了一次网页,并要求访问者提交他们的详细信息。如果详细信息提交一次,从下次页面重定向到另一个页面。

<script>

        go_to = "kwd.php";

        num_days = 180;
        function ged(noDays){
            var today = new Date();
            var expr = new Date(today.getTime() + noDays*24*60*60*1000);
            return  expr.toGMTString();
        }

        function readCookie(cookieName){
            var start = document.cookie.indexOf(cookieName);
            if (start != -1){ 
            window.location = go_to;
            }
        }

        function createcookie() {
            document.cookie = "seenit=yes; expires=" + ged(num_days);
        }

        readCookie("seenit");
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多