要素が読み込まれている間に読み込み中のGIFを挿入するチュートリアルや記事を探しています。私は画像をプリロードすることについての記事しか見つけられないようです。jquery要素がロードされている間に画像をロードする
答えて
一般的な戦略は、読み込みイメージをdivタグまたはspanタグに配置し、表示するときに表示または非表示にすることです。最初に表示したい場合は、jQuery .hide()関数をjQuery on ready関数のdivまたはspanに配置するだけです。
、またはdivの背景画像を「読み込み中」の画像に設定します。次に何もする必要はありません(ブラウザが読み込み中にプレースホルダを描画しない限り) –
はあなたがやろうとしている内容に応じて、それは特に難しいことではありませんを参照してください。以下は、(既存の)読み込みイメージを表示し、ajax経由で取得したhtmlを読み込み、読み込みが完了すると読み込みイメージを非表示にします。画像データが実際にダウンロードされる前に、ロード・コールバックが呼び出されるので、データをロードする場合
$(function() {
$('#activate').click(function() {
$('#loadingImg').show();
$('#whereItGoes').load('url-to-data-to-be-loaded', function() {
$('#loadingImg').hide();
});
});
});
はイメージです、それは少しトリッカーを取得します。その場合の戦略の1つは、いくつの画像を読み込むかを知っているHTMLにスクリプトを組み込み、すべての画像がダウンロードされるまで基本的に画像カウントをチェックするonloadedイベントハンドラを持つことです。私は通常、画像データが利用可能になる前にonloadedハンドラが追加されない場合にタイムアウトを設定します(その場合は起動しません)。
これは、通常よりも多くの何もない:
function onAGivenEvent() {
$('someContain').append('<div id="throbber"></div>');
// do some slowthings with a "on complete callback to onComplete
}
function onComplete() {
$('#throbber').remove();
}
しかし、あなたも、Javascriptを必要としない場合もあります。例えば、大きな画像の場合。その場合、あなたは、HTMLやCSSを使用してそれを行うことができます。
img.largeImage {
background: url(throbber.gif) center no-repeat;
}
とHTMLで
<img class="largeImage" src="..." />
あなたがここにローダーのGIFを生成することができますhttp://www.ajaxload.info/
はこれを行うための最も簡単な方法があります表示または非表示を使用せずに表示または非表示を使用することは、実際には必要でないローディングイメージを配置した場所にdivを作成する必要があることを意味します。これは、あなたがこれを実行したら、あなたが表示または非表示を使用するので、あなたが他の追加のdivを追加し、それを隠すためにCSSを使用する必要はありません
<a href="mypage.php" rel="charger">Load Page 1</a>
<div id="LoadMe">LoadMe div</div>
<script>
$('a[rel*=charger]').click(function() {
$('#LoadMe').html('<img src="images/facebook_style_loader.gif" />');
$('#LoadMe').load($(this).attr('href'));
return false;
});
</script>
方法です。また、これは読み込みイメージがロードされる場所に正確に表示されますが、読み込みたいページにたくさんのものがある場合は、表示と非表示が常に正しい場所に表示されるとは限りません。 それが役に立ったと思っています。
- 1. 画像がロードされたときではなく、要素がクリックされたときにロードする
- 2. jquery;画像;再ロード
- 3. jqueryライトボックスに画像がロードされない
- 4. jsによってロードされる要素の上に描画要素
- 5. jQueryまだロードされていない要素にテキストを追加する
- 6. jQuery UI datepicker画像がフォーカスの前にロードされます
- 7. 既にロードされている2つのビューコントローラの間で画像を渡す
- 8. jQueryオートコンプリートで画像をロード
- 9. ajaxがロードされている要素は空です。
- 10. jQueryのcakePHP要素をロード
- 11. jQueryでロードされた要素をフォーカスする
- 12. JQueryで画像をロードするのを待っています
- 13. 画像がロードされる前にJQuery 'fadeIn'が早すぎます。
- 14. ウィンドウがロードされた後に画像をロードする方法は?
- 15. Rails 4画像がヒーローにロードされていない
- 16. Picachaを使用してRecyclerViewに画像がロードされない
- 17. Swiftの要素がstoryBoardから時間通りにロードされていない
- 18. .gifをロードする(画像が遅い)
- 19. 画像を撮るとき画像が画像ビューにロードされていない
- 20. AJAXロードされた要素
- 21. 重いページのすべての要素(画像のような)がブラウザに一緒にロードされます
- 22. jQueryの画像Nivoスライダがロードされているときに望ましくない表示されます
- 23. Chartがロードされているときに画像を表示する
- 24. jQuery ContentFlowがすべての画像をロードしない
- 25. 部分的にロードされている画像
- 26. は、DIV要素は、DIV要素がロードされている確認方法
- 27. JQueryがロードされたajaxから要素IDデータを取得
- 28. 画像がImageViewにロードされていません
- 29. PHPキャプチャの画像がライブサーバにロードされていません
- 30. Rails 5 - herokuに画像がロードされていません
私はこれをすべて簡略化するためのプラグインを作った。デモ:http://jquery-values.googlecode.com/svn/other/loading/jquery.loading.htm –