2016-06-11 4 views
1

私はローディングアニメーションを私のHTMLページに入れており、これは問題なく動作します。問題は、ページがリフレッシュされるたびに、読み込み中のアニメーションが再び表示され、最初のページの読み込みにのみ制限したい場合です。クッキーを使用して初めてページを読み込んだときにのみアニメーションの読み込みを表示しますか?

私はこの問題を解決するためにクッキーを使用していましたが、私はstackoverflowの質問の1つを参考にしました: load an ad (div) just once on first load私はそこに答えられたまったく同じコードを使用していた、私のIDを置き換えた。

$(document).ready(function() { 
if (!readCookie("adSeen")) { 
    $("#loading").fadeOut("slow"); 
    createCookie("adSeen", "1", 1000); 
}}); 

その他のコードは同じです。私のクッキーは有効になっていますが、動作していません。それを解決するのを助けてください。ここで

は私のコードです:

https://jsfiddle.net/aman_chhabra/fguq4hnd/1/

役に立てば幸い:https://jsfiddle.net/mytest_jsfiddle/ojo2mosd/5/

+1

'readCookie()'と 'createCookie()'を定義しましたか? – Barmar

+0

https://jsfiddle.net/barmar/3426k3sn/ – Barmar

+0

CSSで '#loading'イメージが隠されていますか? – Barmar

答えて

0
は、参考のため

$(document).ready(function() { 
    if (!readCookie("adSeen")) { 
    $("#loading").fadeIn("slow"); 
    createCookie("adSeen", "1", 1000); 
} 
    }); 

    function createCookie(name, value, days) { 
     if (days) { 
      var date = new Date(); 
      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
      var expires = "; expires=" + date.toGMTString(); 
     } 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; 
    } 

にあなたのコードを変更

、以下のフィドルを参照してください。

+0

私はフィドルを更新しました。フェードアウトのための私のためのそのうまく動作します。このフィドルが今まで少なくとも1回は動作するためには、ブラウザにクッキーがないことを確認してください。 また、常にフェードアウトしている場合はクッキーが許可されているかどうかを確認してください。 –

+0

私はすべてを試みましたが、それでも私のために働いていません。多分まだ私は何か間違っているのかもしれない。これを確認してください:https://jsfiddle.net/mytest_jsfiddle/ojo2mosd/5/。私はいくつかの時間を設定していますが、今でもフェードアウトしていません。私はJSの初心者です。 –

+0

あなたのフィドルも私のためにうまくいった。ほんとうに分かります。シークレットウィンドウでこれを試すことができますか? ctrl + shift + P - firefoxの場合 ctrl + shift + N- Chromeの場合 –

関連する問題