我有一个站点,显示通过PHP从MySQL表中提取的多个项目。
然后我按颜色过滤(复选框显示不同的颜色,点击它们以下jquery隐藏/显示所选颜色):
jQuery(document).ready(function($) {
$(":checkbox").bind("click", function (event) {
if($(this).is(':checked')) {
$(".itemBox:not(#" + $(this).val() + ")").hide();
$(".itemBox[id='" + $(this).val() + "']").show();
}
else {
$(".itemBox").show();
}
});
});
我的问题如下。项目显示如下,2乘2,所以当jquery隐藏/显示时,它只是将项目留在原位,它们不会被重新组织。所以我看到之前显示过项目的空白区域现在已经隐藏了......
您有什么建议来解决这个问题或强制PHP刷新吗?我试图避免刷新整个页面...
while ($info = mysql_fetch_array($items))
{
if ($row_count % 2 == 0)
{
echo "<tr>";
}
echo "<td><div name='item' id='".$info[color_base1]."' class='itemBox'><div class='showItem'><a href='items_descr.php?itemId=".$info[id_item]."'><img class='itemImage' alt='' src='images/$info[imageMid].jpg'></img></div><br />";
echo "<div class='indexItemText'><font class='similarItemsText'><a href='items_descr.php?itemId=".$info[id_item]."'>".$info[name]."</a><font class='price'> - $".$info[price]."</div></td></div>";
$row_count++;
答案 0 :(得分:0)
如果你只是将所有这些元素放入一个容器div中,并且每个项目的CSS中都有一个带有float的单项div,那么你可以编写一些CSS,它会给它带来相同的外观,但当你带出元素时隐藏方法,间隙将被删除。