Задать вопрос
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer

Как обновить ширину блока до инициализации masonry сетки?

Есть у меня контейнер, в нём блоки размещаются друг за другом. Блоки все квадратные. Поскольку фулреспонсив, ширина блоков написана в процентах, высота хватается уже яваскриптом, она равна ширине. Кроме последнего блока, с классом workBlock--content. Он шире ровно вдвое.
$('.workBlock').each(function(){
        var ths = $(this);
        ths.height(ths.width());
        if(ths.hasClass('workBlock--content')){
            var neWidth = ths.width() * 2;
            ths.width(neWidth);
        }
    });

Здесь всё вычисляется правильно, но я заметил что masonry не хочет переносить блок с контентом, который шире в 2 раза и выбивается в горизонтальный скролл. Я вызываю после вычислений
console.log($('.workBlock--content').width())
и выясняю, что высота не обновилась - мне возвращается 414, хотя в css скрипт срабатывает на ура и прописывает width: 828px. Как результат при инициализации masonry не знает, что блок в 2 раза шире и не хочет переносить его на новую строку.

Весь код в document.ready() и я вообще не могу понять WTF....
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы