После быстрого просмотра исходного кода jQuery Sortable, кажется, что такая функциональность не встроена в данный момент (я думаю, было бы хорошим дополнением к нему).Во всяком случае, быстрый обходной путь, который я использовал сейчас, на случай, если у кого-то возникнет та же проблема:
$el.fadeOut(1000, function(){
$el.insertAfter($el.next());
$el.fadeIn(1000);
});
Это несколько ясно указывает на перемещение элемента из одного места в другое.
Вот полный кодк вышеупомянутой проблеме, если кто-то придет к точно такой же проблеме.
1- Зарегистрируйте эти 2 события в Сортируемом инициале следующим образом:
start: function(event,ui){$(ui.item).data('initialPos', $(ui.item).offset().top)},
handle: ".drag",
stop: lockedRearrange,
2-
var lockedRearrange = function(event, ui){
//block ordering while the current item is rearranged
$('.drag', event.target).removeClass('drag').addClass('blockdrag');
var $el = $(ui.item);
var directionUp = (ui.absolutePosition.top < $el.data('initialPos')) ? true : false ;
_rearrange($el, directionUp, $el.data('initialPos'));
};
var _rearrange = function($el, directionUp, initialPos){
if ($el.offset().top == initialPos) {
$('.blockdrag', $el.parent()).removeClass('blockdrag').addClass('drag');
return;
}
var $knockEl = (directionUp) ? $el.next() : $el.prev();
if ($knockEl.hasClass('locked')) {
$el.fadeOut(1000, function(){
(directionUp) ? $el.insertAfter($knockEl) : $el.insertBefore($knockEl);
$el.fadeIn(1000, function(){
_rearrange($el, directionUp, initialPos);
});
});
}else
_rearrange($knockEl, directionUp, initialPos);
};