0
我目前使用的砌体做一个列表工作, 这里是我的问题......砌体不能正常显示后无来者
我有一些不同类型的div
内容, ,我希望它显示只有一种类型的他们一次。
我的做法是在div上应用display:none
,并通过javascript筛选出来,并在选定的div
上应用display:block
。
但奇怪的是我打电话砌体后,它使所有可见的div
排队的一列,这不是我所期待...
这里是我的代码:
$(function() {
\t
let m = $('#masonry');
let item = $('.item');
m.masonry({
\t itemSelector: '.item',
columnWidth: 0
});
$('#false').on('click', function() {
\t for(let i = 0; i < item.length; i ++) {
\t $(item[i]).show();
}
\t \t
\t for(let i = 0; i < item.length; i ++) {
if($(item[i]).data('hide') != false) {
$(item[i]).hide();
} else {
$(item[i]).show();
}
}
m.masonry();
})
$('#true').on('click', function() {
\t for(let i = 0; i < item.length; i ++) {
\t $(item[i]).show();
}
for(let j = 0; j < item.length; j ++) {
\t if($(item[j]).data('hide') != true) {
\t $(item[j]).hide();
} else {
\t $(item[j]).show();
}
}
m.masonry();
})
$('#pooo').on('click', function() {
\t for(let i = 0; i < item.length; i ++) {
\t $(item[i]).show();
}
for(let j = 0; j < item.length; j ++) {
\t if($(item[j]).data('hide') != null) {
\t $(item[j]).hide();
} else {
\t $(item[j]).show();
}
}
m.masonry();
})
})
.item {
padding: 5px;
width: 20%;
}
.inner {
background: pink;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://masonry.desandro.com/masonry.pkgd.js"></script>
<div id="masonry">
<div class="item">
<div class="inner">
<br><br><br><br><br><br>
</div>
</div>
<div class="item" data-hide="null">
<div class="inner"><br><br><br><br><br></div>
</div>
<div class="item" data-hide="true">
<div class="inner"><br><br><br></div>
</div>
<div class="item" data-hide="false">
<div class="inner"><br><br><br><br><br></div>
</div>
<div class="item" data-hide="true">
<div class="inner"><br><br><br></div>
</div>
<div class="item" data-hide="null">
<div class="inner"><br><br><br><br><br></div>
</div>
<div class="item" data-hide="true">
<div class="inner"><br><br><br><br></div>
</div>
<div class="item" data-hide="false">
<div class="inner"><br><br><br><br></div>
</div>
<div class="item" data-hide="null">
<div class="inner"><br><br><br></div>
</div>
<div class="item" data-hide="false">
<div class="inner"><br><br><br><br><br><br><br><br></div>
</div>
</div>
<button id="false">false</button>
<button id="true">true</button>
<button id="pooo">pooo</button>
任何建议?
OK ......我发现这可以通过隐藏第一砌筑项目造成的......而我的工作就可以了,祝我好运。 XD – LeoCantThinkofAName