我很好奇使用angular来动画和交换元素的适当方法是什么。我有一个二维数组,有一个嵌套的ng-repeat来创建表。我的最终目标是使用动画在表格中交换两个元素,所以基本上只是将鼠标悬停在彼此的位置上。
我有这个函数交换两个jquery元素的位置,但它不会更新数组,最终角度数组将不再与显示的内容同步。我还发现,当在行之间移动元素时,动画会稍微挂起,而列是平滑的。即。 [0] [0] - > [0] [1]是平滑的[0] [0] - > [1] [0]挂起
jQuery.fn.swapWith = function (to, callback) {
animating = true;
thisPos = this.position();
toPos = to.position();
$.when(this.animate({
top: toPos.top,
left: toPos.left
}, 300),
to.animate({
top: thisPos.top,
left: thisPos.left
}, 300)).done(function () {
animating = false;
if (callback) {
callback();
}
});
};
我也发现这个代码笔非常好,但也不是我想要的。 http://codepen.io/daleyjem/pen/xbZYpY是否有一种标准的处理角度的方法?
用更简单的术语来说:如果我想让数组[0] [0]与数组[0] [1]交换位置并让$ scope对象更新,我应该怎么做?与数组[0] [0]到数组[1] [0]?
相同编辑:我应该提一下,我注意到只需将元素设置为彼此相等就会适当地更新表格。问题是缺乏动画。例如:
a = [0][1]
b = [0][0]
[0][1] = b
[0][0] = a