我已经在我们的网站上实现了jQuery砌体,效果很好。我们的网站是动态的,用户必须能够添加/删除砌体盒。该站点有一个添加示例,但没有删除示例。我们的数据库被查询返回x个项目。循环通过它们被加载和显示。这是一个代码示例:(我们使用F3框架和F3:重复是它的循环机制。)。
<div id="container" class="transitions-enabled clearfix" style="clear:both;">
<F3:repeat group="{{@productItems}}" value="{{@item}}">
<div id="{{@item.itemId}}">
<div class="box">
<div class="view"> <!-- for css -->
<a onclick='quickRemove("{{@item.itemId}}")>
<img src="{{@item.pic}}" />
</a>
</div>
<p>
{{@item.title}}
</p>
</div>
</div>
</F3:repeat>
</div>
在javascript代码中,项目ID号是唯一的,并传递给该函数。这也是区分每个盒子的div id#。我尝试了各种组合和方法,但似乎无法使其发挥作用。
function quickRemove(item){
var obj = $('#'+item+'').html(); // item is the product id# but also the div id#
$('#container').masonry('remove',obj);
$('#container').masonry('reloadItems');
$('#container').masonry('reload');
}
有没有人成功删除了一个项目,你是怎么做到的? THX。
答案 0 :(得分:4)
目前,您似乎正在将一个充满html的字符串传递给masonry remove方法。通过不包括.html()
function quickRemove(item){
var obj = $('#'+item+''); // item is the product id# but also the div id#
$('#container').masonry('remove',obj);
$('#container').masonry('reloadItems');
$('#container').masonry('reload');
}