jQuery, JavaScript, HTML: comment charger les images après que tout le reste est chargé?
hé les gars,
j'ai une question très complexe de la page avec beaucoup de scripts et d'un assez long temps de chargement. Au sommet de cette page, je veux mettre en œuvre le jquery Nivo Slider (http://nivo.dev7studios.com/).
Dans la documentation, il dit que j'ai la liste de toutes les images pour le curseur à l'intérieur d'un div#curseur
<div id="slider">
<img src="images/slide1.jpg" alt="" />
<a href="http://dev7studios.com"><img src="images/slide2.jpg" alt="" title="#htmlcaption" /></a>
<img src="images/slide3.jpg" alt="" title="This is an example of a caption" />
<img src="images/slide4.jpg" alt="" />
</div>
Cependant je pourrais avoir 10 images avec un 1000x400px qui est assez grand. Ces images de la charge lors du chargement de la page. Depuis qu'ils sont dans ma tête, cela peut prendre un certain temps.
Je cherche un moyen d'utiliser toute jquery Slider Plugin (comme le nivo slider), mais soit de charger dynamiquement des images ou de charger toutes les images après tout le reste sur mon page est chargée.
Une idée de comment je pourrais résoudre ce problème?
Est-il encore un moyen de démarrer une javascript processus après tout le reste sur la page est chargée? Si il y a un moyen je pourrais avoir une solution à mon problème (en utilisant l'ajax de jquery méthode load ()) ... Cependant je n'ai aucune idée de comment attendre pour tout le reste à charge et ensuite démarrer le diaporama avec toutes les images.
source d'informationauteur matt
Vous devez vous connecter pour publier un commentaire.
Voici ce que nous avons fait et sa fonctionne très bien. Nous avons sauté réglage
src
attribut deimg
et a ajouté img-emplacement d'un faux attributlsrc
. Ensuite, on charge une image dynamique aveclsrc
valeur, et de définir lasrc
de l'image réelle qu'après son chargement.Ce n'est pas un chargement plus rapide, mais son propos en montrant les images que lorsque ses téléchargé sur votre page, de sorte que l'utilisateur de ne pas voir que gênant demi-images chargées. Un espace réservé d'image peuvent être utilisés lors de l'effectif des images sont en cours de chargement.
Voici le code.
Edit: Truc est de mettre la
src
attribut uniquement quand la source est chargé temporaire img.$(img).load(fn);
poignées.En plus de Xhalent de réponse, utilisez le .append() de jQuery pour ajouter à la DOM:
Votre HTML aurait juste:
Et puis votre jquery serait:
découvrez jquery load() de l'événement, il attend de tout, y compris des graphiques
sur la charge, vous pouvez charger les images à l'aide de:
Vous pouvez ajouter une fonction onload de l'image trop
la meilleure façon de l'utiliser est b -paresseux js.
bLazy est un léger lazy loading image de script (moins de 1,2 KB minifiés et gzippé). Il vous permet de lazy load et multi-servir vos images, vous pouvez économiser de la bande passante et des demandes de serveur. L'utilisateur aura des temps de chargement plus rapide et d'enregistrer les données chargées si il/elle n'a pas de parcourir l'ensemble de la page.
Pour une liste complète des options, fonctions et exemples le post de blog: http://dinbror.dk/blog/blazy.
L'exemple suivant est un chargement différé de plusieurs portions images responsives exemple avec une image de rappel : Si votre appareil largeur est inférieure à 420 px ça va servir plus légère et plus petite version de l'image. Lorsqu'une image est chargée, elle enlève le chargeur dans le rappel.
En Html
En js
Exemple
jquery a une syntaxe pour l'exécution de javascript après le document est chargé: