グリッド レイアウトにjquery Masonry を使用しています。
<div id="container">
<div class="item">[...]</div>
<div class="item">[...]</div>
<div class="item">[...]</div>
<div class="item">[...]</div>
<div class="item">
<select id="selectorColors">
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="blue">Blue</option>
</select>
</div>
<div class="item">
<div class="colors"></div>
</div>
<div class="item">[...]</div>
</div>
<script type="text/javascript">
$('#container').masonry({
itemSelector: '.item',
columnWidth: 90
});
</script>
しかし、私の場合、オプションを選択したときにのみ表示される非表示の div がいくつかあります。Masonry は表示されている div に対してのみ正常に機能しますが、非表示の div では機能しません。オプションを選択すると、div は表示されますが重なっています。
$('select').change(function(){
if($('select').val() == '') {
$('div.colors').hide();
} else {
$('div.colors').show();
}
});
reload
次の方法でアイテムをリロードしようとしました。
$('div.colors').show().masonry('reload');
しかし、うまくいきません。私は何を間違えましたか?