2011-11-10 8 views
1

私が作っているウェブサイトは、ウェブサイトが読み込まれたときに大きな画像が黒からぼやけてしまいます。それは良質のイメージであり、その効果は素敵です。ブラウザに何かが表示される前に大きな画像を読み込む方法

人が最初にウェブサイトにアクセスしたときにフェードが発生せず、画像が表示されるという問題があります。私は、不透明度がすぐに変更されたが、イメージ自体はダウンロードされていないと考えています。一旦それがキャッシュされると、サイトを再訪すると効果が示されます。

フェードインが始まる前に画像が完全にダウンロードされるようにする方法は何ですか(フェードは単純なjQueryです:$('#bg').fadeIn(1000);)?

EDIT - みなさんありがとうございます。それは解決されました。私は、私が気づいていないものを残しておきました。 imgタグではありませんでしたが、画像の背景を持つdivです。私がimgに変更したとき、$(document).ready()ファンクションはフェードの前にイメージをロードしました。ありがとうございました!

+0

レディ機能を使用する方が簡単だと思います'ready()'の代わりに 'load()'を使うべきロードされた要素のプロパティ。私はこれを試したことはありませんが、とにかくそれを渡すと考えました。 edit:document.readyの代わりにwindow.onload! – Gazillion

+0

@Gazillionええ、私はいつもready()を使っていましたが、load()ははるかに適切です。 –

答えて

2

jQueryの.load() event handlerをご覧ください。関連付けられた要素のすべてがロードされたときに呼び出されます。画像にタグを付けると、イメージが完全にロードされたときにコールバックが呼び出されます。

+0

ready()関数はトリックを行いましたが、画像だけでload()を使用しました。ありがとうございました。 –

+0

@ user745434:あなたは歓迎ですが、DOMの構築時には、ページの要素(画像など)があっても、['.ready()'](http://api.jquery.com/ready/)が呼び出されます。 。)がロードされていません。同じページで次のように読むことができます: "コードがロードされたアセットに依存している場合(例えば画像のサイズが必要な場合など)、コードは[' load event'](http: //api.jquery.com/load-event/)代わりに._ " – Tadeck

1

あなたがHTMLの上部にあるIMGをロードするスクリプトを(HEADがオプションである)に置く必要があります

しかし

そのに悪い習慣

あなたは基本的なページとボタンスクリプトでマエケをすることができます - あなたはimgをダウンロードすることができます - とロードイベントで - あなたはそれを倒すことができます。

1

私はそれは私がhttp://api.jquery.com/ready/コメントで読んで、あなたが必要な場合は、その言及誰かに気づいた

http://api.jquery.com/ready/

関連する問題