2016-03-24 13 views
0

ウィンドウロード機能でクッキーがあるかどうかをチェックし、要素を隠すCSSクラスを追加します。しかし、それは十分に速くはありません。サイトを開いたときに隠された要素が1秒間表示されます。隠された要素を見ることなくそれを行うためのよりよい方法はありますか?クッキーとaddClassをチェックしますが、遅くなります

これは私が(私はjQueryのを使用)を使用していますスクリプトです:クッキーが存在しない場合は

$(window).load(function() { 
    if ($.cookie('note')) { 
     $('.note').addClass('hide'); 
    } 
}); 
+1

最初に非表示にして、Cookie **が存在しない場合のみ表示します。 – Liam

+0

ウィンドウの読み込みとは対照的に、文書の準備ができましたか? –

+0

FYI [load()は非推奨](http://stackoverflow.com/questions/12643160/load-method-deprecated)、これ以上使用しないでください。 – Liam

答えて

2

だけのみに機能を反転画像を表示:明らか

$(window).ready(function() { 
    if (typeof $.cookie('note') === 'undefined') { 
     $('.note').removeClass('hide'); 
    } 
}); 

あなたデフォルト状態にはhideクラスが含まれている必要があります。

また、前述のように、使用しないでください。load()非常にうまく動作せず、コードの実行に不要な遅延が追加されます。

+0

私はこれを試していますが、これはうまくいきません。 if(typeof $ .cookie( 'note')=== 'undefined' –

+0

どうすればデバッグできますか?(http://stackoverflow.com/questions)/988363/how-can-i-debug-my-javascript-code) – Liam

+0

私はこれを取得します:116 Uncaught TypeError:$ .cookieは関数ではありません https://drive.google.com/file/d/0B4_0PpHmsIheWU5JZkRGT3RWNkE/ ?usp = sharing –

関連する問題