Javascript 偏移量返回上一个位置(排序前)-JQuery UI

Javascript 偏移量返回上一个位置(排序前)-JQuery UI,javascript,jquery,offset,cursor-position,Javascript,Jquery,Offset,Cursor Position,见: 当您将一个排序表拖过另一个排序表(以便它们交换位置)时 偏移位置(element.offsetTop、element.offsetLeft)不更新 上述示例的工作原理如下:如果将一个可排序表放到另一个可排序表上,将显示一个警报,告诉您将其放到了哪个可排序表上。如果在放置光标时,光标不在另一个可排序表上,则不应显示任何警报 唯一的问题是,当您删除它时,是否在一个排序表上是基于该排序表的原始位置。如果将一个排序表拖过另一个(以便它们交换位置)并将其放在交换位置之前的排序表所在位置,则仍会显示

见:

当您将一个排序表拖过另一个排序表(以便它们交换位置)时 偏移位置(element.offsetTop、element.offsetLeft)不更新

上述示例的工作原理如下:如果将一个可排序表放到另一个可排序表上,将显示一个警报,告诉您将其放到了哪个可排序表上。如果在放置光标时,光标不在另一个可排序表上,则不应显示任何警报

唯一的问题是,当您删除它时,是否在一个排序表上是基于该排序表的原始位置。如果将一个排序表拖过另一个(以便它们交换位置)并将其放在交换位置之前的排序表所在位置,则仍会显示警报。这使我相信偏移使用的是前一个位置

var顺序=[];
函数设置(){
//添加排序表:
对于(变量i=0;i<5;i++){
document.getElementById(“容器”).innerHTML+=“可排序”+i+”;
订单推送(i);
}
//使它们真正可排序:
$(“#容器”)。可排序({
停止:功能(e、ui){
//检测在另一个可排序表上的下降:
var s=document.getElementById(“容器”).childNodes;
var c=Number(ui.item[0].id.split(“-”[1]);//这是正在移动的可排序表的索引
对于(变量i=0;i矩形碰撞:
如果(e.clientX>=s[i].offsetLeft&&e.clientY>=s[i].offsetTop&&e.clientX

这不是偏移量的问题。它没有像您预期的那样工作,因为
order[i]!==c
不排除光标位于您刚移动的元素的最终位置,而是排除光标位于您刚移动的元素的起始(先前)位置