不用太具体,大概思路就可以了比如有5条记录,有字段title,id,sort_id,按下面的结构输出<div>
<div>title1</div>
<div>title2</div>
<div>title3</div>
<div>title4</div>
<div>title5</div>
</div>当我使用javascript拖动调整上面结构的时候,比如3拖到1前面,3变成排第1,2变成排第3,1变成排第2,其他不变。
如何将这个顺序写入sort_id,当然可以每一条数据都修改一次,但感觉不太效率,比如4跟5的顺序没变,没必要去修改,有什么更好的算法吗?

解决方案 »

  1.   


    首先确定步骤有2个步骤step 1:dom树上真实位置移动
    var parent = div3.parentNode;
    parent.removeChild(div3);
    parent.insertBefore(div3, divX); // divX是你要插入到某个div的位置,这个divX是在你松开鼠标时从事件对象中获得event.targetstep 2: 仅遍历位置发生变化的dom元素,并更改其sort_id
    场景1:div3是从后向前插入,则遍历divX-->div3之间,将其sort_id更改
    场景2:div3是从前向后插入,做法一样, 改成遍历div3 --> divX