2016-09-17 5 views
0

J'utilise le code jQuery suivant pour supprimer une animation de chargement lorsque le site a fini de charger tout le contenu, y compris les images.jQuery: ignore le contenu d'une tierce partie en attendant le chargement de la fenêtre

$(window).one("load", function() { 
    $("#loader").remove(); 
}); 

Cependant; Si j'ai Google Maps sur la page et la connexion Internet est lente, la superposition de chargement prend plus de 40 secondes pour se cacher, tout simplement parce que Google Maps n'a pas fini de charger. Question: Comment puis-je ignorer le contenu d'un tiers tel que Google Maps et les iframes en attendant que le site Web soit chargé avec jQuery? Je veux masquer la superposition même si google maps et iframes n'ont pas encore été chargés.

+0

Avez-vous essayé d'utiliser '.ready()'? – guest271314

Répondre

2

Utilisez plutôt le code suivant:

$(document).ready(function() { 
    $("#loader").remove(); 
}); 

La différence est que ce code exécutera une fois tous les éléments HTML sont chargés et le DOM est prêt. Alors que window.load s'exécute après tout le contenu sont chargés comme des images et des iframes. Vous pouvez en savoir plus sur $(document).ready par rapport à $(window).loadhere.

modifier:

Si vous voulez attendre le chargement des images il suffit d'utiliser ceci:

$(document).ready(function() { 
    $("img").one("load", function() { 
     $("#loader").remove(); 
    }); 
}); 
+0

Je sais à ce sujet, je veux attendre des images cependant. – guub

+0

Vérifiez ma réponse mise à jour. – 5aledmaged