Jquery 每个用户/浏览器会话仅显示一次欢迎div

Jquery 每个用户/浏览器会话仅显示一次欢迎div,jquery,session,html,hide,Jquery,Session,Html,Hide,我希望每个用户或会话只显示一次欢迎div。我知道有Jquery选项。因为我是jquery的新手,所以我自己无法解决它。请帮忙 $(文档).ready(函数(){ $(“#关闭欢迎”)。单击(函数(){ $(“.welcome”).fadeOut(1000); }); }); 你好

我希望每个用户或会话只显示一次欢迎div。我知道有Jquery选项。因为我是jquery的新手,所以我自己无法解决它。请帮忙

$(文档).ready(函数(){
$(“#关闭欢迎”)。单击(函数(){
$(“.welcome”).fadeOut(1000);
});
});

你好<欢迎来到ABC

我们祝你有一个美好的一天。。!
设置一个cookie

$(document).ready(function() {
    if ($.cookie('noShowWelcome')) $('.welcome').hide();
    else {
        $("#close-welcome").click(function() {
            $(".welcome").fadeOut(1000);
            $.cookie('noShowWelcome', true);    
        });
    }
});
您需要包含jQuery.cookie javascript文件


这样更好,因为我们在飞行中隐藏时不会看到闪烁

<a href="" id="close-edu" class="waves-effect"><span class="edu" style="display: none;">New</span></a>

以防你的客户不吃饼干

您可以使用sessionStorage,毕竟这正是它们的用途,在整个会话过程中随时准备一组数据

为了获得最佳的用户体验,您应该从初始 现有CSS中的[wellcomeElement].style.display=“none”属性

所以,整个过程将变得像

  • 检查是否显示了欢迎信息
  • 表演不要采取行动 完成了

    示例代码:

      "message" in sessionStorage ? 0 :
      [wellcomeElement].style.display = "block",
      sessionStorage.setItem("message",true);
    
    代码剪报可以放在(但更可取的是)欢迎消息元素后面的脚本标记中

    但是,为了完全向后兼容,您可以始终退回到使用会话名称属性,如中所示:

     /message/.test( name ) ? 0 :
     [wellcomeElement].style.display = "block",
     name = 'message';
    

    注意。

    如果您已经有登录系统,请将该信息附加到登录会话cookie中,否则仅使用mkhatib answer和cookie。还请记住,服务器端仅http cookie更安全。您好,mkhatib,感谢您提供更快的响应。。我复制了脚本并引用了jquery.cookie.js,如您所示。然而,同样的方法不起作用。。我错过什么了吗。。请注意我刚刚注意到我的代码缺少
    ready
    函数的右括号。可能就是这样。如果没有,您是否可以检查控制台是否有任何javascript错误?这是控制台未捕获类型错误显示的错误:对象函数(a,b){return new e.fn.init(a,b,h)}没有方法“cookie”,这意味着您没有正确包含jquery.cookie.js文件。尝试在本地保存它并将其包含在html中。我完全按照您所说的做了,但仍然存在问题。欢迎div始终显示..如果您转到主页ie index.html
     /message/.test( name ) ? 0 :
     [wellcomeElement].style.display = "block",
     name = 'message';