Lazy Load ne se charge pas les images visibles
Je suis en train d'utiliser lazyload de charger uniquement les images qui sont visibles (parce que mon site est responsive et une partie du contenu est caché avec display:none pour les clients sur un écran plus petit).
Fondamentalement, lazyload œuvres, mais SEULEMENT après que j'ai faites défiler la page un peu.
C'est le lazy load réglages que j'utilise, et même après le réglage du seuil de 2000px (plus de toute la hauteur de la page), il toujours ne charge que les images une fois que l'utilisateur fait défiler la page (même de 1 px).
Ce bug n'apparaît que dans les navigateurs webkit.
$(document).ready(function () {
$("img").lazyload({threshold : "2000", effect : "fadeIn", effectspeed: 2000,});
});
J'ai eu ce problème aussi.
Ne sais pas si c'est le problème ou pas, mais
Ouais, il ne fait aucune différence, Chris - toujours le même problème.
Qu'advient-il si vous déclenchez la
Ne sais pas si c'est le problème ou pas, mais
threshold
est censé être un nombre entier, c'est à dire threshold: 2000
, pas threshold: "2000"
.Ouais, il ne fait aucune différence, Chris - toujours le même problème.
Qu'advient-il si vous déclenchez la
scroll
cas de la page à l'aide de jquery. Pas nécessaire de déplacer le défilement des pages, juste pour le déclencher?OriginalL'auteur andy | 2012-07-10
Vous devez vous connecter pour publier un commentaire.
Je pense que cela pourrait être une mauvaise conduite de
threshold
paramètre, mais encore, vous pouvez manuellement feu le chargement en fonction cette page:mais si vous voulez charger toutes les images sur
ready
, pourquoi faut-il lazyload à tous? Vous pouvez simplement utiliser$.animate
.Vous épargnant de vie! Merci, je n'étais pas au courant de cet événement de la méthode.
Si vous ne souhaitez que des images à afficher pour vos utilisateurs mobiles, ajouter la catégorie "mobile" de ces images. Utilisez ensuite les événements ci-dessus seulement pour $("img.mobile").
OriginalL'auteur pozs
Il suffit d'ajouter cette après .lazyload() et il sera le déclencheur de faire défiler et afficher les images
Il ne sera pas montrer toutes les images, juste ceux qui sont visibles.
Eh bien, cela a du sens.
OriginalL'auteur Nemke
Vous devez définir la largeur et la hauteur des images.
Si la largeur et la hauteur ne sont pas mis en jQuery fera rapport des images invisibles dans les navigateurs Webkit sur le document.la charge de l'événement. Lorsque
skip_invisible
esttrue
Lazy Load va ignorer les images, le sens qu'il l'habitude d'essayer de comprendre si l'image doit être chargée ou pas. Ils vont se charger de la première fois que vous faites défiler.Si vous définissez
skip_invisible
estfalse
plugin va essayer de comprendre si les images seront chargées. Cependant, puisque vous n'avez pas la largeur et la hauteur de l'ensemble de toutes les images seront de la taille de 0x0 ou 1x1. De ce fait toutes les images sont dans la fenêtre d'affichage (en raison de leur taille) lorsque le plugin est activé. Parce que les images sont dans la fenêtre d'affichage Paresseux Charge d'instruire à charge de tous les.En bref: Ajouter la largeur et la hauteur des images. Lazy Load ne fonctionnent pas correctement sans eux.
URL de la page à laquelle vous faites référence?
L'auteur du commentaire ci - dessus pozs
OriginalL'auteur Mika Tuupola
Je ne suis pas sûr de quand ce ont été ajoutés, mais vous pouvez manuellement le feu de l' 'apparaissent' événement à certains ou à tous (selon le sélecteur css) apparaissent:
Obtenu ce à partir d'ici: http://yuji.wordpress.com/2014/05/14/force-jquery-lazyload-to-appear/
OriginalL'auteur Al Sweigart
J'ai eu le même problème. Ils sont dans une div défilement, mais seulement de la charge après une période initiale de défilement.
À l'aide de 'apparaissent' montrera tous, à moins d'en limiter la portée. Dans mon cas, je ne voulais montrer les 3 premiers de la charge. Le reste de leur charge paresseux comme d'habitude.
OriginalL'auteur Skäggiga Mannen
Essayer de passer des paramètre supplémentaire.
skip_invisible : faux
Ce paramètre est à true par défaut, il semble donc que vos images ne sont pas visibles lorsque l'extension commence son travail. Il pouvait se produit lorsque vous utilisez l'un de préchargement sur votre site web.
OriginalL'auteur Rantiev
J'ai eu le même problème et trouvé une solution pour ce.
Veuillez noter que mes images étaient placés à l'intérieur d'un div qui est rempli par un appel ajax.
Il suffit de changer une ligne de code à l'intérieur de la lazyload sources (lignes 147-150) de la version 1.8.4:
au lieu de
Ou éventuellement ajouter l'appel à la "update()" pour tout autre besoin événement.
OriginalL'auteur Gabriele Pala
J'ai eu un problème similaire où les images ne se charge pas après un appel ajax jusqu'à ce que je défile (même si je viens de défilement 1px il serait de charger). J'ai trouvé j'ai besoin d'ajouter une hauteur et une largeur de mes images comme Mika Tuupola dit. Mes images ont été chargées dynamiquement, étaient différentes tailles d'image et chargées à partir d'une boucle foreach. J'ai ajouté générique largeur et la hauteur de l'attribut à la balise d'image, puis après le lazyload charge l'image, je l'ai enlevé les attributs de sorte qu'il serait montrer la bonne taille de l'image.
Pozs solution ci-dessus sans condition seulement les charges de toutes les images dès que le document.prêt événement est déclenché. L'effet est essentiellement la même que n'utilisant pas le Lazy Load plugin.
OriginalL'auteur Allan
J'ai eu le même problème avec les éléments cachés, est une solution simple, mais il fonctionne. Quand je clique sur la page, je déclenchement de défilement de l'événement de force lazyload script. Vous pouvez faire la même chose avec l'événement de redimensionnement
OriginalL'auteur Alessandro Romeo
En bref: Ajouter la largeur et la hauteur des images. Lazy Load ne fonctionnent pas correctement sans eux.
Vous devez être chargé à l'avance de l'espace réservé;Comme ce:
Et puis
Si vous définissez la largeur de l'image à 100%,cela permettra d'offrir une largeur et une hauteur.
Cela a résolu mon problème.
OriginalL'auteur Deot
C'est la solution de travail, mais n'est pas très bon pour certaines raisons:
Chaque fois lazyload plugin charger l'image, cette fonction sera appelée et de la fenêtre de déclenchement de défilement sera imité, c'est donc la solution pour moi
OriginalL'auteur AlexxKur
Augmentation de la failure_limit.
Après le défilement de la page plugin boucles bien déchargé des images. Boucle vérifie si l'image est devenue visible. Par défaut, la boucle est arrêté lors de la première image en dehors de la fenêtre d'affichage est trouvé. Ceci est basé sur l'hypothèse suivante. L'ordre des images sur la page est le même que l'ordre des images dans le code HTML. Avec certaines dispositions de cette hypothèse peut être faux.
Réglage failure_limit à 10 causes plugin pour arrêter la recherche pour les images à charger après constatation de 10 images ci-dessous le pli.
OriginalL'auteur user3424426
J'avais le même problème et j'ai remarqué que ce problème ne se produit lorsque les images sont placées à l'intérieur d'un div qui est initialement masqué (ie. display: none;)
OriginalL'auteur Omid