1

我有一个网站,显示通过 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 x 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++;
4

1 回答 1

0

如果您只是将所有这些元素放入容器 div 和单个项目 div 中,每个项目的 CSS 中都留有浮动,您可以编写一些 CSS 使其具有相同的外观,但是当您使用 hide 方法取出元素时,间隙将被删除。

于 2012-08-02T21:27:46.740 回答