Combinant LazyLoad et Jquery Maçonnerie
J'ai essayé de reconstituer la maçonnerie et moo outils lazyload cependant ils ne semblent aller très bien ensemble, même si elle pourrait éventuellement être juste parce que je suis un peu inutile pour le codage!
Les travaux de maçonnerie sur cette page.
Cependant, lorsque j'essaie de les mettre ensemble avec lazyload il semble totalement en désordre. Quelqu'un aurait-il une idée de comment mettre en œuvre les deux plugins ensemble?
J'ai passé 6 jours à essayer de le comprendre, et c'est mon dernier espoir ha!
Grâce
Pourriez-vous faire de même avec un lazyload afin que je puisse le voir gâcher?
Oui, je viens de mettre le lazy load - il fonctionne dans chrome, firefox juste totalement bousille!
Ok, donc j'ai juste remarqué qu'il semble maintenant fonctionner parfaitement dans chrome toutefois le même effet bizarre qui se passe à l'opéra et firefox où il charge bizarrement!
Maintenant, je suis celui qui est en face de cette.. j'ai ces caractéristiques telles que
Oui, je viens de mettre le lazy load - il fonctionne dans chrome, firefox juste totalement bousille!
Ok, donc j'ai juste remarqué qu'il semble maintenant fonctionner parfaitement dans chrome toutefois le même effet bizarre qui se passe à l'opéra et firefox où il charge bizarrement!
Maintenant, je suis celui qui est en face de cette.. j'ai ces caractéristiques telles que
auto load more (when scroll is at bottom
, lazy load image
, et masonry layout
. J'utilise angulaire pour cela, et ces caractéristiques vont de directives. Aucune des solutions de travail pour moi 🙁OriginalL'auteur user554954 | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
Récemment, je dois résoudre cette pour un de mes site. J'ai essayé un couple de façons, et il semble de travail.
1. Première Méthode:
[Mise à jour jsfiddle avec de nouvelles images, plus facile à illustrer ce point]
http://jsfiddle.net/7vEJM/8/
Cette méthode est bonne, mais elle a un inconvénient. La grille de mise en page peut pas être conservé le même depuis l'époque de la maçonnerie.reload() dépend de chaque image de temps de charge (c'est à dire celui censé être chargé en premier, peut-seulement de le terminer plus tard)
2. Deuxième Méthode:
Regarder sur les sites comme pinterest, je pense, il n'a pas suivi la première méthode, parce qu'ils ont le récipient boîtes disposées avant même toute image chargée, donc, ce que j'ai essayé de l'atteindre est de n'afficher que les cases avec le même ratio que les images. Les étapes sont les suivantes:
{image1: [300,400],image2: [400,500]}
)selon le conteneur. J'ai trouvé cette astuce ici
les boîtes sont alr disposées correctement
http://jsfiddle.net/nathando/s3KPn/4/
[Édité pour ajouter le jsfiddle pour la deuxième méthode]
Avis:
/*display: none */
et commentairedisplay: block
pour#container.fluid .item img
Acclamations
ont ajouté les nouveaux jsfiddle comme demandé, mais depuis je ne peut pas reproduire le comportement du serveur, un peu le faire manuellement. Espérons qu'il encore illustre le point.
si j'avais eu un pinterest carte de mise en page avec des commentaires, je dois calculer div hauteur ainsi selon le commentaire?
oui, je suppose. Vous pouvez simplement ajouter à la hauteur de l'image avant de calculer le ratio de l'aide (hauteur/largeur). Il est similaire, mais pas exactement comment pinterest fait. Ils réglez la hauteur de la div directement, ne pas utiliser %. Ont-ils expliqué dans un autre post: stackoverflow.com/questions/7109362/.... Mais je suppose que ce sera encore plus facile.
OriginalL'auteur Nathan Do
J'ai posté la même réponse sur le même article sur les problèmes. Si vous avez le problème les images sont superposées, j'ai trouvé la solution sur le site ci-dessous, bien qu'il soit en Japonais.
http://www.webdesignleaves.com/wp/jquery/1340/
Espère que cela aidera.
Le point est l'utilisation suivantes;
HTML
jQuery
Vous avez sauvé ma journée 🙂 Merci beaucoup!
OriginalL'auteur softk5
softk5 réponse n'était pas de travail pour moi et causant de gel sur la plupart des navigateur. Voici mon code suivant et sa fonctionne pour moi.
OriginalL'auteur Ali Nouman
La raison en est que la Maçonnerie a besoin de connaître les dimensions de l'image afin de jeter les éléments correctement. Cependant LazyLoad retards de chargement de l'image jusqu'à ce que l'image est dans la fenêtre d'affichage, ce qui signifie que l'image n'aura pas de dimensions (ou les dimensions de la maquette/espace réservé à l'image que vous avez défini comme l'img src).
OriginalL'auteur Thomas Graft
peut-être que quelqu'un va avoir des problèmes aussi , l'espoir de l'aide .
à le faire fonctionner avec wordpress photoswipe-maçonnerie thème est impossible sans plugin modification.
suivant est lié à cette modification et juste avec de la maçonnerie
a) lazyload utiliser les données originales="xxx" attribut pour définir l'url de l'image . PAS de src . vous avez besoin de placer certains de l'espace réservé . peut-être 1x1 pixel qui sera chargé sans lazyload .
b) cet espace réservé besoin de couvrir TOUT l'espace pour de futures lazyloaded image , OU de la maçonnerie fera toutes les images visibles comme lazyloading vue . c'est parce que avant les images chargées ont une taille zéro 0px x 0px . et toutes les images de l'ajustement dans la zone visible avant chargement . Lazyload compter tout le visible et le chargement de tous .
pour organiser l'espace pour de futures image, vous devez définir
style="width:xxpx;hauteur:xxpx;"
juste width="xx" et height="xx" n'est pas assez
de l'image de l'espace réservé est devenu comme :
puis appliquer un chargement différé de manière normale , et la maçonnerie . dans n'importe quel ordre .
Important - maçonnerie mise à jour de la largeur à la taille de la colonne , MAIS pas la hauteur , donc si votre taille de colonne = 50px , alors vous avez besoin de calculer la hauteur de l'espace réservé
new_height = 50 /actual_width * actual_height;
donc pour thème wordpress besoin
.....
....
puis ajouter de nouvelles lignes en dessous de la maçonnerie init
OriginalL'auteur Alexey Yakovlev