背景画像はバグです!背景を使用する
jQueryモバイルでのdiv背景画像の読み込みは、約50%の時間で成功しています。したがって、jqmアプリケーションをコーディングするすべての人は、div背景イメージが確実に表示されるように見えるようになります(可視、表示、ロード、ロード)。 .LOAD()イベント(.on(「負荷」..)のためのjqmドキュメントエントリを愛しています。基本的に.LOAD()は互換性がありません、クロスブラウザで、その後は何の解決策を提供しないと言います。
誰かが全焼jQueryドキュメントサイト
@Neilコードは、1つのHUGEの脆弱性で動作します。どの@Moeが解決策を提供しますが、彼の説明は誤解を招くような境界線ではありません。@Moe cssには欠けている宝石があります。 「背景画像は機能せず、背景は!」
@Moeのcssチップを確認します。
http://www.webmasterworld.com/css/3557554.htm
$('#somediv').waitForImages(function() {
console.log("Images done loading");
},
function(loaded, count, success) {
var $imageDiv = $(this);
var url = $imageDiv.css('background-image');
var lngDivWidth = $imageDiv.css('width');
var lngDivHeight = $imageDiv.css('height');
var bckgnd_src = url.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
//hardcoded just for demonstration purposes.
bckgnd_src = 'https://lh3.googleusercontent.com/-3prblPgZ3n4/To9btWmWSFI/AAAAAAAAB2c/Ojs-7Ql3r6w/s720/DSC_2120.JPG';
if (!success) {
var $cacheImage = $('<img id="tempImg" />').attr('src', bckgnd_src).on('load',
function(e) {
$imageDiv.css('background', 'url('+bckgnd_src+')');
$imageDiv.width(lngDivWidth).height(lngDivHeight);
});
}
//jqm takes all opportunities to fail. Force display again.
$imageDiv.css('background', 'url('+bckgnd_src+')');
}, true);
が本当にこれをテストするための完全なソリューションは、複数のページjqmアプリが必要です。ページ間のナビゲーションでページあたり10枚の画像
このコードが実行されていない場合でも、完全にキャッシュされたページだけが混乱します。どのようにこの機能がキャッシュされたページでも実行できるようにするには、Plzの誰かの提案。
(も不可解なドキュメントとの)依存WaitForImagesプラグイン
https://github.com/alexanderdickson/waitForImages
私は多くの 'div.image'を持っているので、私は' each'関数を記述し、jqueryのコード内のすべての画像のURLアドレスを繰り返す必要がありますか?他に簡単な方法はありますか?ありがとう。 –
@yulichika私の更新を参照してください – Neal
あなたの更新のおかげで、ありがとう。 –