我正在寻找如何执行jQuery UI .sortable(),但没有用户交互的方法。
我有一个可排序的列表,可以通过拖动元素来工作,但是我真正想要的是以编程方式移动元素。将元素从位置5移到位置2,并带有所有漂亮的动画,但没有用户交互。
可以用.sortable()完成吗?
最佳答案
很接近您尝试做的事情:
here
结果可能是:
的HTML
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
<button>Go</button>
Javascript:
$('ul').sortable();
$('button').click(function() {
var li2 = $('li').eq(2);
var li1 = $('li').eq(1);
var li0 = $('li').eq(0);
var oldOffset = li2.offset();
li0.after( li2 );
var newOffset = li2.offset();
var temp = li2.clone().appendTo('body')
.css('position', 'absolute')
.css('left', oldOffset.left)
.css('top', oldOffset.top)
.css('zIndex', 1000);
li2.hide();
temp.animate( {'top': newOffset.top, 'left':newOffset.left}, 'slow', function(){
li2.show();
temp.remove();
});
});
Jsfiddle