js数组内元素移动,适用于拖动排序

代码如下:

function(arr,index,tindex){
//如果当前元素在拖动目标位置的下方,先将当前元素从数组拿出,数组长度-1,我们直接给数组拖动目标位置的地方新增一个和当前元素值一样的元素,
//我们再把数组之前的那个拖动的元素删除掉,所以要len+1
if(index>tindex){
arr.splice(tindex,0,arr[index]);
arr.splice(index+1,1)
}
else{
  //如果当前元素在拖动目标位置的上方,先将当前元素从数组拿出,数组长度-1,我们直接给数组拖动目标位置+1的地方新增一个和当前元素值一样的元素,
  //这时,数组len不变,我们再把数组之前的那个拖动的元素删除掉,下标还是index
    arr.splice(tindex+1,0,arr[index]);
arr.splice(index,1)
}
}

index是当前元素下标,tindex是拖动到的位置下标。
若有疑问或建议请联系我。

 

posted @ 2017-12-01 13:21 赵皖华 阅读(...) 评论(...) 编辑 收藏