Есть у меня контейнер, в нём блоки размещаются друг за другом. Блоки все квадратные. Поскольку фулреспонсив, ширина блоков написана в процентах, высота хватается уже яваскриптом, она равна ширине. Кроме последнего блока, с классом 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....