2016-12-27 205 views
0

所以我使用下面的代碼來顯示和淡入一個元素。我已將div設置在主頁上可見並隱藏在所有其他頁面上,因此div只顯示在主頁上。我的問題是,每次訪問主頁時,div都會顯示出來。相反,我想在每個會話中只顯示一次div。我試圖用cookies修復它,但它不起作用。每個會話只顯示一次jQuery

$(window).load(function(){ 
$("#testlay").fadeIn('slow').delay(1000).fadeOut(1600); 
}); 
+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); 
     } 
    }); 
0

您可以使用localStorage這將是更正確的這種情況下IMO。

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