jQuery Masonry删除函数示例

时间:2012-10-19 22:16:10

标签: javascript jquery jquery-masonry

我已经在我们的网站上实现了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。

1 个答案:

答案 0 :(得分:4)

目前,您似乎正在将一个充满html的字符串传递给masonry remove方法。通过不包括.html()

将实际的jQuery包装元素传递给它
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');
}