每个会话只显示一次jQuery

时间:2016-12-27 11:49:02

标签: javascript jquery cookies

所以我使用以下代码来显示和淡化元素。我已将div设置在主页上可见并隐藏在所有其他页面上,因此div仅显示在主页上。我的问题是,每次访问主页时,div都会显示出来。相反,我想每个会话只显示一次div。我试图用cookie修复它,但它没有用。

String.Intern("Hello world");

2 个答案:

答案 0 :(得分:0)

你可以使用coockie来看看下面的例子希望它有所帮助

请找到相同的fiddle

function createCookie(name,value,days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days*24*60*60*1000));
            var expires = "; expires=" + date.toUTCString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }

    function eraseCookie(name) {
        createCookie(name,"",-1);
    }
    //your window load function replace with below
    $(function(){
      if(readCookie('CodefireOnce') == null)
      {
        createCookie('CodefireOnce','true',7);
        $("#testlay").fadeIn('slow').delay(1000).fadeOut(1600);
      }
    });

答案 1 :(得分:0)

在这种情况下,您可以使用localStorage更正确的IMO。

$(window).load(function(){
    if(typeof localStorage.testlayHidden != 'undefined') {
        $("#testlay").fadeIn('slow').delay(1000).fadeOut(1600, function() {
            localStorage.testlayHidden = 1; 
        });
    }
});