通過拖動來變換元素順序


 1     // 拖動變換順序
 2     var moveItem=document.getElementsByClassName('layui-timeline-item');
 3     dragElement=null;
 4     for(var i=0;i<moveItem.length;i++){
 5         moveItem[i].addEventListener('dragstart',function (evt) {
 6             dragElement=this;
 7         },false);
 8         moveItem[i].addEventListener('dragenter',function (evt) {
 9 
10             if(dragElement != this){
11                 this.parentNode.insertBefore(dragElement,this);
12             }
13         },false);
14         moveItem[i].addEventListener('dragleave',function (evt) {
15             var lists=$('.layui-timeline-item');
16             for(var j=0;j<lists.length;j++){
17                 lists.eq(j).j=j;
18                 var list=lists.eq(j).prevAll().length;
19                 $('.layui-timeline-item').eq(j).find('span:eq(0)').text(list+1);
20             }
21             if(dragElement != this){
22                 if(this == this.parentNode.lastElementChild || this == this.parentNode.lastChild){
23                     this.parentNode.appendChild(dragElement);
24                 }
25             }
26         },false)
27     };
28     document.ondragover = function(e){e.preventDefault();}
29     document.ondrop = function(e){e.preventDefault();}

 

 1 在拖放的過程中會觸發以下事件:
 2 
 3 在拖動目標上觸發事件 (源元素):
 4 ondragstart - 用戶開始拖動元素時觸發
 5 ondrag - 元素正在拖動時觸發
 6 ondragend - 用戶完成元素拖動后觸發
 7 
 8 釋放目標時觸發的事件:
 9 ondragenter - 當被鼠標拖動的對象進入其容器范圍內時觸發此事件
10 ondragover - 當某被拖動的對象在另一對象容器范圍內拖動時觸發此事件
11 ondragleave - 當被鼠標拖動的對象離開其容器范圍內時觸發此事件
12 ondrop - 在一個拖動過程中,釋放鼠標鍵時觸發此事件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM