jQuery: изотоп жидкости работает только после изменения размера

У меня возникли проблемы с настраиваемой сеткой жидких изотопов, простой сеткой из 4 столбцов, каждая из которых .grid-block имеет ширину 24%, оставляя допуск 1%.
Однако проблема в том, что когда страница загружается, она отображается в виде сетки из 3 столбцов, пока размер окна браузера не изменится и оно не разделится на 4 столбца.
Вот демонстрация jsfiddle: http://jsfiddle.net/BVzTV/4/
jQuery:

$(document).ready(function() {
var $container = $('#main-grid');

$container.isotope({
    itemSelector: '.grid-block',
    animationEngine: 'best-available',
    resizable: false,
    masonry: { columnWidth: $container.width() / 4 }
    });

    $(window).smartresize(function(){
  $container.isotope({
    // update columnWidth to a percentage of container width
    masonry: { columnWidth: $container.width() / 4 }
  });
    });
});

Я не могу понять, почему это происходит / как это исправить, на самом деле это просто. Я просто пытаюсь создать простую сетку из 4 столбцов при загрузке страницы и при изменении ее размера. Любые предложения будут ценны!


person user1374796    schedule 23.06.2013    source источник
comment
+1 - Очень хороший вопрос. Воспроизводимо с демонстрацией и ясной проблемой.   -  person Travis J    schedule 23.06.2013


Ответы (1)


jsFiddle Demo

Оптимизированная сетка находится внутри настроек smartresize. Вы можете просто сделать один вызов функции изменения размера, когда страница загружается следующим образом:

$(window).smartresize();//I know it seems kind of simple, but it works
person Travis J    schedule 23.06.2013