может быть кто-то будет иметь проблемы тоже надежда помощь.
, чтобы заставить его работать с wordpress photoswipe-masonry theme невозможно без модификации плагина.
рядом связано с этой модификацией и только с кладкой
а) использование LazyLoad данных оригинал = «ххх» атрибут для установки URL изображения. НЕ src. вам нужно разместить несколько заполнителей. может быть 1x1 пиксель, который будет загружен без lazyload.
b) этот заполнитель необходимо покрыть ВСЕ пространство для будущего lazyloaded изображения, или каменная кладка сделает все изображения видимыми в виде ленивого просмотра. это потому, что до загрузки изображений он имеет нулевой размер 0px x 0px. и все изображения вставляются в видимую область перед загрузкой. Lazyload считает все видимым и загружает все.
расположить все пространство для будущего изображения вам нужно установить
стиль = "ширина: xxpx; высота: xxpx;"
только ширина = «ая» и высота = «ая» не хватает
так, что изображение заполнителя стал как:
<img src="http:..1x1px" data-original="http://real_image" style="width:xxpx;height:xxpx;">
затем применить ленивые нагрузки обычного способ, и кирпичную кладку. в любом порядке .
Важна - Кладка ширина обновления его размер колонки, но не по высоте, так что если ваш размер столбца = 50px, то вам необходимо рассчитать Heigh из заполнителя
new_height = 50/actual_width * actual_height;
так для WordPress темы необходимо
$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].'"/>
....
затем добавить новые строки ниже кладки INIT
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);
}
}
});
});
Не могли бы вы сделать то же самое с lazyload, чтобы я мог видеть, как это испортилось? –
Да, я только что положил ленивую загрузку - он работает в хроме, firefox просто полностью беспорядочно! – user554954
Итак, я только что заметил, что теперь он отлично работает в хроме, но тот же странный эффект происходит в опере и в firefox, где он загружается странно! – user554954