【问题标题】:How to move elements in a jQuery UI .sortable() programatically如何以编程方式移动 jQuery UI .sortable() 中的元素
【发布时间】:2014-05-22 11:56:29
【问题描述】:
我正在寻找如何做一个 jQuery UI .sortable(),但没有用户交互。
我有一个通过拖动元素来工作的可排序列表,但我真正想要的是以编程方式移动元素。将元素从位置 5 移动到位置 2,具有所有漂亮的动画,但没有用户交互。
这可以用 .sortable() 完成吗?
【问题讨论】:
标签:
jquery
jquery-ui
animation
draggable
【解决方案1】:
与您尝试做的事情非常接近:
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