每个会话只显示一次jQuery

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

$(window).load(function(){ $("#testlay").fadeIn('slow').delay(1000).fadeOut(1600); }); 

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

请找到同样的小提琴

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

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

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