2017-07-06 15 views
0

私はpreloaderを持っています。これはdocument.readyの後ろに隠れています。なぜなら1枚のまたは2つの大きなサイズの写真のDocument.readyまたは一定時間後に実行しますか?

angular.element(document).ready(function() { 
    var el = document.getElementById('preloader'); 
    fadeOut(el); 
}); 

ので、ゆっくりと時々、文書のロード、ので、私はこの写真を待ち、5000ms後にプリローダーを非表示にする必要がありますする必要はありません。

どうすればいいですか? ありがとうございます。

+1

SOはアドバイスフォーラムではありません。これらの質問は多くの意見に基づいた回答につながりやすくなります。これまでに何を試しましたか?あなたの作品を見せてください。 – Soviut

+0

OK、主なアイデアは私が想像することができない、どのように追加するか?angle.element(document).ready(function(){... –

+1

'ready'は画像がロードされるのを待つのではない – charlietfl

答えて

0

使用しているドキュメントの準備ができているプロセスは、単純にjQuery(現在は非推奨)の.ready()メソッドをラップしています。それはではありません。すべての画像がロードされるのを待っていますが、DOMが解析されるのを待つだけです。 window.onloadイベントは、すべてのイメージがロードされた後にのみ発生するイベントです。

代わりに、 "Unstyled contentのフラッシュ"(FOUC)を防ぐために、Angularにはng-cloakというディレクティブがあります。クロークは、トップレベルの要素にクラスを配置することで機能し、「準備完了」状態を待つ間、ページの一部またはすべてを非表示にすることができます。 jQuery .fadeOut()エフェクトではなく、CSSトランジションを使用して、クロークが削除された後でプリローダをゆっくりフェードアウトさせることができます。

関連する問題