2017-01-10 5 views
0

以下は、広告を1日に1回表示するために使用しているコードです。私はそれを5分ごとに1回表示するように切り替える必要があります。私はスクリプトの1の値を0.004に変更することを考えました(1 = 1日、.004 =約5分)が、正しく動作していないようです。誰にもアイデアはありますか?ありがとう!5分ごとに広告を表示させますか?

<style> 
    #donationad { 
     position: fixed; 
     bottom: 0; 
     left: 40px; 
     width: 250px; 
     height: 150px; 
     z-index: 999; 
     display: none; 
    } 

    #donationad.hide { 
     display: none; 
    } 

    .closebutton { 
     position: relative; 
     top: 20px; 
     left: 230px; 
     cursor: pointer; 
    } 

    .closebutton img { 
     width: 30px; 
     height: auto; 
     opacity: 1.0; 
    } 
</style> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.closebutton').click(function() { 
      $("#donationad").toggleClass("hide"); 
     }); 
    }); 
</script> 
<div id="donationad"> 
    <div class="closebutton"> <img src="http://www.dbknews.com/pb/resources/assets/img/modal_close_button.png"> </div> 
    <a href="http://dbknews.com/donate"> <img src="https://s3.amazonaws.com/wapopartners.com/dbknews-wp/wp-content/uploads/2016/12/24020402/DBK-Donate250x150.jpg"> </a> 
</div> 
<script type="text/javascript"> 
    var cookie = document.cookie; 
    if (cookie.indexOf('visited=', 0) == -1) { 
     var expiration = new Date(); 
     expiration.setDate(expiration.getDate() + 1); 
     document.cookie = 'visited=1;expires=' + expiration + ';path=/'; 
     var element = document.getElementById('donationad'); 
     element.style.display = 'block'; 
    } 
</script> 
+0

ユーザーがサイトにアクセスしている間、または5分ごとに新しい広告を希望する場合は、5分ごとに新しい広告が必要です。すべてのユーザーが同じ時間に同じ広告を表示することが5分ごとですx –

+0

ユーザーが一度確認すると5分ごとに表示されます。だから、私は本質的に5分で失効するクッキーを取得したいと思う。有効期限が切れると、広告は再び表示され、新しいCookieが添付されます。 申し訳ありませんが、もう少し明確です。 – Jake

+0

ここで2つ折りです。リロードが発生したときに有効期限を制御したい場合、mr.rogersのアイデアはリロード時に機能します。しかし、彼らがページに座っているとうまくいかない。 [setInterval](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval)のクッキーをチェックするためにコードをラップする必要があります。それに相当する5分を1000秒の増分。 –

答えて

1

Date.setDateは、「日付」ではなく、その日を設定します。混乱している?はい。

あなたが望むのは完全に異なるものです。

document.cookie = 'visited=1;max-age=300;path=/'; 
// 300 is 5 minutes in seconds 

これにより、5分しか生存できないCookieが作成され、日付をまったく処理する必要はありません。古いバージョンのIEは失われます。これは、Cookieを一時的なものとして扱います。

+0

素晴らしい、ありがとう! – Jake

+0

簡単な質問:コード行を更新しましたが、今度は広告が消えずにそのまま表示されます。何か不足していますか? また、5分の時点に達すると、私はそれを完全に回答します。 – Jake

+0

広告はまだリフレッシュ時に表示されますが、あなたの言っていることはありますか? –

関連する問題