Javascript 在Angular JS中交换元素
我很好奇,使用angular设置动画和交换元素的合适方法是什么。我有一个二维数组,它有一个嵌套的ng repeat来创建表。我的最终目标是使用动画使表中的两个元素交换位置,因此基本上只需将鼠标悬停在彼此的位置上 我有一个交换两个jquery元素位置的函数,但它不会更新数组,最终角度数组将不再与显示的内容同步。我还发现,当在行与列之间移动元素时,动画会稍微挂起,而列是平滑的。ie[0][0]->[0][1]平滑且[0][0]->[1][0]挂起Javascript 在Angular JS中交换元素,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我很好奇,使用angular设置动画和交换元素的合适方法是什么。我有一个二维数组,它有一个嵌套的ng repeat来创建表。我的最终目标是使用动画使表中的两个元素交换位置,因此基本上只需将鼠标悬停在彼此的位置上 我有一个交换两个jquery元素位置的函数,但它不会更新数组,最终角度数组将不再与显示的内容同步。我还发现,当在行与列之间移动元素时,动画会稍微挂起,而列是平滑的。ie[0][0]->[0][1]平滑且[0][0]->[1][0]挂起 jQuery.fn.swapWith = funct
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();
}
});
};
我还发现了这个代码笔,它很不错,但也不是我想要的。有没有一个标准的方法来处理像这样的事情
更简单地说:如果我想让数组[0][0]与数组[0][1]交换位置,并让$scope对象适当更新,我应该怎么做?是否与数组[0][0]到数组[1][0]相同
编辑:我应该提到,我已经注意到简单地将元素设置为彼此相等将适当地更新表。问题在于缺乏动画。例如:
a = [0][1]
b = [0][0]
[0][1] = b
[0][0] = a
可能会有帮助吗?或者谢谢你的回复,我已经看到了这两个,第二个就是我链接的代码笔。实际上,我还没能让第一个开始工作,但我可以多花点时间研究一下。我链接的代码笔实际上让我很接近,但动画滞后。$scope成员与网格不匹配。可能会有帮助吗?或者谢谢你的回复,我已经看到了这两个,第二个就是我链接的代码笔。实际上,我还没能让第一个开始工作,但我可以多花点时间研究一下。我链接的代码笔实际上让我很接近,但动画滞后。$scope成员与网格不匹配。