2017-05-15 81 views
0

我想在用戶訪問網站時做一些動畫,但不希望每次用戶在子頁面之間切換時都顯示該動畫。目前它每次都執行動畫,我不知道爲什麼。將cookie設置爲1小時並在加載時檢查它

這裏是我的代碼:

$(document).ready(function() { 
    "use strict"; 
    if (document.cookie.indexOf('visited') > -1) { 
     // They've been here before. 
     alert("hello again"); 
    } 
    else { 
     // set a new cookie 
     var d = new Date(); 
     d.setTime(d.getTime() + (3600 * 1000)); 
     document.cookie = "visited=yes;" + "expires=" + d.toUTCString() + ";path=/"; 
     // slide in navbar 
     sleep(100); 
     document.getElementById("navlist").style.left = "63%"; 
    } 
}); 
+0

使用Cookie庫https://github.com/ harishkurup/cookiejar而不是手動執行。 –

回答

2

你可以簡單的使用sessionStorage代替餅乾,像這樣:

$(document).ready(function(){ 
    if(sessionStorage.getItem("visitedBefore") == undefined){ 
      sessionStorage.setItem("visitedBefore", "1"); 
      alert("Welcome for the first time!"); 
    } 
}); 

Here is the JSFiddle demo

+0

1小時後它會自行摧毀嗎? – MiXT4PE

+0

不,如果用戶關閉了Web瀏覽器選項卡或窗口,它會自行銷燬。這意味着只要用戶在第一次播放動畫後在同一網頁中進行網上衝浪,就不會觸發動畫。 –

+0

完美!非常感謝。 – MiXT4PE