puede ser alguien tendrá problemas también, ayuda esperanza.
para que funcione con wordpress photoswipe-masonry theme es imposible sin la modificación del complemento.
siguiente está relacionado con esta modificación y acaba con mampostería
a) el uso lazyload datos originales = "XXX" atributo para establecer URL de la imagen. NO src. para que necesites colocar un marcador de posición. puede ser 1x1 píxel que se cargará sin lazyload.
b) este marcador de posición necesita cubrir TODO el espacio para una futura imagen de lazyloaded, O la mampostería hará que todas las imágenes sean visibles como vistas de lazyloading. es porque antes de las imágenes cargadas tiene un tamaño cero 0px x 0px. y todas las imágenes encajan en el área visible antes de cargarse. Lazyload cuenta todo como visible y carga todo.
a organizar todo el espacio para la futura imagen que necesita establecer
style = "width: xxpx; altura: xxpx;"
simplemente width = "XX" y height = "xx" no es suficiente
así imagen de marcador se convirtió como:
<img src="http:..1x1px" data-original="http://real_image" style="width:xxpx;height:xxpx;">
a continuación, aplicar de manera normal carga perezoso, y mampostería. en cualquier orden .
Importante - mampostería de actualización de ancho a su tamaño la columna, pero no la altura, por lo que si el tamaño de la columna = 50 px, entonces es necesario calcular Altura del marcador de posición
new_height = 50/actual_width * actual_height;
así que para wordpress tema necesita
$scaled_height =$options['thumbnail_width']/$full[1] * $full[2];
.....
<img src="http://xxxx/1x1px.jpg" data-original='. $thumb[0] .' itemprop="thumbnail" alt="'.$image_description.'" style="width:'.$full[1].'px;height:'.$scaled_height.'px;" width="'.$full[1].'" height="'.$full[2].'"/>
....
a continuación, añadir nuevas líneas de abajo init mampostería
var reloading = false;
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js',function(){
\$('.msnry_item img').lazyload({
effect: 'fadeIn',
//container: container,
threshold : 200,
skip_invisible : false,
failure_limit : 5,
load: function() {
if(! reloading)
{
reloading = true;
setTimeout(function(){
container.masonry('reload');
reloading = false;
}, 500);
}
}
});
});
¿Podría hacer lo mismo con una carga lenta para que yo pueda verla arruinando? –
Sí, acabo de poner cargas perezosas, funciona en Chrome, ¡Firefox lo estropea por completo! – user554954
Ok, acabo de darme cuenta de que ahora parece funcionar perfectamente en Chrome, sin embargo, el mismo efecto raro ocurre en la ópera y en Firefox donde se carga de forma extraña. – user554954