我有一个敲除js的问题,并将一个可观察的数组显示为列表; 在beforeRemove动画运行时添加项目时,已删除的元素将移动到列表的底部,而不是保持其位置,直到动画完成并删除元素.
这是一个jsfiddle,可以更好地解释这个问题:http://jsfiddle.net/bPP5Q/8/
谁知道我怎么解决这个问题?
JavaScript的:
jQuery(function ($) {
var ViewModel = function (data) {
var self = this;
self.data = ko.observableArray(data);
self.removeLine = function (elem) {
if (elem.nodeType === 1) $(elem).fadeOut(3000, function () {
$(elem).remove();
});
}
self.addLine = function (elem) {
if (elem.nodeType === 1)
$(elem).hide().fadeIn(3000);
}
self.removeItem = function() {
self.data.remove(function(item) { return item.test && item.test == 2; });
}
self.addItem = function() {
self.data.splice(1, 0, { test: 9 });
}
self.addremove = function () …Run Code Online (Sandbox Code Playgroud)