有办法获得助手被拖到新位置的当前位置吗?
- $("#sortable").sortable({
- start: function (event,ui) {
- var currPos1 = ui.item.index();
- },change: function (event,ui) {
- var currPos2 = ui.item.index();
- }
- });
看来,当实际改变发生时,currPos1和currPos2具有相同的值!
我需要实现的是突出显示用户“开始拖动元素”到“当前替换的元素”之间的所有位置。一旦用户释放鼠标按钮更新发生,只有当我得到新的位置,但我需要它之前鼠标释放。
解决方法
UPDATED:26/08/2016使用最新的jquery和jquery ui版本加bootstrap风格。
- demo: 07000
- $(function() {
- $('#sortable').sortable({
- start: function(event,ui) {
- var start_pos = ui.item.index();
- ui.item.data('start_pos',start_pos);
- },change: function(event,ui) {
- var start_pos = ui.item.data('start_pos');
- var index = ui.placeholder.index();
- if (start_pos < index) {
- $('#sortable li:nth-child(' + index + ')').addClass('highlights');
- } else {
- $('#sortable li:eq(' + (index + 1) + ')').addClass('highlights');
- }
- },update: function(event,ui) {
- $('#sortable li').removeClass('highlights');
- }
- });
- });