l'image de fond est buggée! Utiliser le fond
Chargement des images d'arrière-plan dans jQuery mobile réussit ~ 50% du temps. Donc, tout le monde codant une application jqm cherchera à s'assurer que l'image d'arrière-plan div est visible (visible, affichée, chargée, chargée). Aimez l'événement entrée JQM docs pour .load() (de .on ('charge' ..). En fait, dit .load() n'est pas navigateur compatible cross et propose aucune solution.
Quelqu'un brûler Le site de documentation de jQuery
Le code de @Neil fonctionne avec une faille ÉNORME. @Moe fournit la solution, mais son explication est inutile et trompeuse. @Moe css a la gemme manquante. , "l'image de fond ne fonctionnera pas et l'arrière-plan le fera!"
Confirme @Moe Astuce css
http://www.webmasterworld.com/css/3557554.htm
LA SOLUTION COMPLETE
$('#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);
Pour tester vraiment, besoin d'une application multiple page JQM. 10 images par page avec navigation entre les pages.
Ne fera que gâcher les pages complètement mises en cache lorsque ce code n'est même pas exécuté. Plz quelqu'un suggestion comment s'assurer que cette fonction peut être exécutée même sur les pages en cache.
Dépendance Plugin WaitForImages (également avec docs incompréhensible)
https://github.com/alexanderdickson/waitForImages
J'ai beaucoup 'div.image', donc je devrais écrire un' each' fonction et répéter toutes les adresses URL de l'image dans le code jquery? Avez-vous un autre moyen plus facile? Merci. –
@yichichika voir ma mise à jour – Neal
ok, merci pour votre mise à jour. –