Масонство работает поздно в визуализации страницы - PullRequest
1 голос
/ 27 февраля 2012

Я много играл с этим и использовал Masonry для множества проектов. Я в тупике.

У меня вмещающий элемент CSS установлен на:

#content.video-grid {
    margin: 0 auto;
    overflow: hidden;
}

С каждым кирпичиком, указанным в этом CSS:

.grid-block {
    float: left;
    height: 220px;
    width: 240px;
    overflow: hidden;
    padding: 0 0 20px 0;
}

И масонство называется так:

    jQuery('#content.video-grid').masonry({
        itemSelector : '.grid-block',
        columnWidth : 240,
        isAnimated: true,
        isFitWidth: true,
        gutterWidth: 2
    });    

Это должно привести к отсутствию "перемешивания" блоков после загрузки страницы, но по какой-то причине он ожидает, пока все не загрузится, а затем применяет ширину к содержащему элементу, как предписано isFitWidth.

Здесь это не работает: http://dev.massmarket.tv/work/all/

Вот та же самая рабочая реализация: http://www.caviarcontent.com/los-angeles/

Так что должно быть что-то, что заставляет масонства опаздывать, но я не смог понять это. Просто чтобы было ясно, я хочу, чтобы Masonry запускался ДО загрузки изображений, чтобы кирпичи находились в правильном месте перед загрузкой изображений.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 августа 2013
$('img').load(function(){
    $('#container').masonry();
});

Не уверен, что это работает для вашего случая ..

0 голосов
/ 28 марта 2012

Вы пытались свернуть код в:

$(window).load(function(){</p> <p>});

...