Javascript ajax回调使项目列表闪烁

时间:2011-09-22 17:59:35

标签: javascript jquery ajax

我有一个简单的提醒列表,用户可以一次单击并拖动到“删除放置区”。它对我的Webmatrix Web服务进行ajax调用以删除该项。一切都很好。但是,在javascript或ajax回调中,我正在检索剩余的项目并将它们显示回列表。出于某种原因,当此过程发生时,列表会闪烁,然后显示新更新的金额。它有点偷走了漂亮的ajax效果。将剩下的物品向上滑动以填充被拖走的物品留下的间隙会很好。任何帮助都会很棒,非常感谢!

这是jsFiddle上的代码:(注意:它不是一个“工作”的小提琴示例。只是放置所有代码片段的好地方):

http://jsfiddle.net/cpeele00/4ugBt/

1 个答案:

答案 0 :(得分:0)

您获得闪存是因为您正在清除整个列表然后重新填充它。

var refreshReminderList = function(data) {
    $('#reminders-list').empty();
    $('#reminders-listTmpl').tmpl(data).appendTo('#reminders-list');
};

而不是清空它 - 遍历列表并删除不在新数据列表中的任何元素。看起来你返回实际的html,而是返回一个id列表(或一些标识符。

//pseudocode
$('reminder-list li').each( function(){
     //if not in data list
     $(this).slideUp();
});