我有16个<li>
个项目
单击按钮后,我运行以下代码,删除<li>
项。
jQuery('.btnRemoveItem').live("click",function(){
var obj = this;
jQuery.post("wp-content/themes/storelocator/include/adm_gallery.php", { deleteImage: 'single', name: jQuery(this).attr('id') },
function(data){
if(data.status == 'deleted');
{
jQuery(obj).closest('li').fadeOut(400, function() { $(this).remove(); });
var count = jQuery('#adminGallery ul li').length;
jQuery('#imageCount').html(count);
}
}, "json");
});
此代码可以使用并删除列表项。但是,进行项目计数仍然会返回16项。
因此,我需要以某种方式绑定事件。我想也许$.live
会有所帮助,但它没有效果。
我应该如何“绑定”<li>
删除?
答案 0 :(得分:7)
它不起作用,因为你没有删除元素,直到它完成淡出需要400毫秒,同时其余的代码继续,计数仍然看到即将被删除的<li>
。
只需将fadeout下面的两行移动到回调函数内部,它就会按照您的意图运行。
答案 1 :(得分:2)
也许一种更简单的方法可行:
jQuery('#imageCount').html(count - 1);
你所拥有的东西不起作用,因为该元素在完成淡出之前并未实际删除。