2017-08-29 3 views
0

最初の訪問時に.popup-closeをクリックした後、ポップアップが2日間表示されないようにするにはどうすればよいですか?最初の訪問時に.popup-closeをクリックした後、ポップアップが2日間表示されないようにするにはどうすればよいですか?

これは私が私のコードの行122から140の間のlocalStorageを試してみた私のコードhttps://jsfiddle.net/4q1aL8pL/2/

です。私はjavascriptの初心者は助けてください:)

Mabyは2日間の時間価値に数えるいくつかのタイマーが適用される必要がありますか?

//<![CDATA[ 
     var n = Number(localStorage.getItem('odometerValue')) || 0; 
    var m = localStorage.getItem('displayNone'); 
     var myOdometer; 
     function startcounting() { 
      var div = document.getElementById("odometerDiv"); 
      myOdometer = new Odometer(div, {value: n, digits: 6, tenths: true}); 
    myOdometer.set(n);   
      update(); 
     } 

     function update() { 
      n=n+0.01 
      myOdometer.set(n); 
    localStorage.setItem('odometerValue', n); 
    localStorage.setItem('displayNone', m);   
      setTimeout(update, 200); 
     } 
    //]]> 
+1

localstorage/cookieに日付を格納し、2日間の完了ごとに確認すると便利です – Amogh

+0

合理的な音 –

答えて

1

ここには、クッキーを使用するための機能があります。

/* Show popup if cookie doesn't exist. Will hide for 2 days if closed */ 
var PopUpCookie = getCookie("MyPopUpCookie"); 
if (PopUpCookie == '') { 
     $('#odometerDiv').show(); 
    } else { 
     $('#odometerDiv').hide(); 
    } 
} 

$('.popup-close').on('click', function() { 
    $('#odometerDiv').hide(); 
    setCookie("MyPopUpCookie", "hide"); 
}); 

function setCookie(cname, cvalue) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (2*24*60*60*1000); /* 2 days */ 
    var expires = "expires=" + d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
} 

function getCookie(cname) { 
    var name = cname + "="; 
    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); 
     if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
    } 
    return ""; 
} 
2

ローカルストレージを使用して、ポップアップがロードされた日付を保存できます。

var d = new Date(); 

この

は、あなたがしなければならないすべては再び訪問者の日付をチェックしてマイナス彼らと、それは2日等しいが再びポップアップした場合である現在の日付をスタンプします。

関連する問題