javascript 文章列表的拖拽排序,基于ul和li控件

source:

    function _bindevent(){
  //绑定事件
    var clis = $( "li.menubar");
    var dragli = null;
    var dragoverli = null;
    var cdiv = null;
    clis.bind({ 
   mousedown:function(){   
    if(dragli)if($( "div",dragli)[0])$( "div",dragli)[0].style.border = "0px";
    dragli = this;
    selectitem = dragli;
    dragli.style.border = "1px solid blue";
    dragli.style.cursor = "hand";  
    $( "div",this)[0].style.border = "1px solid silver";
    if(!cdiv)cdiv = $("<div></div"); 
    cdiv[0].style.width = 120;
    cdiv[0].style.height = 20;
    cdiv[0].style.color = "#993900";     
    cdiv[0].style.border = "1px solid blue";
    cdiv[0].style.position = "absolute";
    cdiv[0].style.zIndex = 999;
    cdiv[0].innerText = dragli.innerText;
    eeditor.appendChild( cdiv[0] );
   },
   mouseover:function(){
    dragoverli = this;
    if("1px solid blue"!=this.style.border)dragoverli.style.border = "1px solid green";
    if(dragli!=dragoverli)dragoverli.style.cursor = "hand";
    if(cdiv)cdiv[0].style.left = event.clientX + 10;
    if(cdiv)cdiv[0].style.top = event.clientY;
   },
   mouseout:function(){
    if(dragoverli)dragoverli.style.border = "0px";    
   },
   mouseup:function(){    
    if(dragli && dragoverli)if( dragli != dragoverli ){     
     dragli.swapNode( dragoverli );//精髓的swapNode 比网上那些拖拉拽强多了
     dragli.style.cursor = "default";     
     dragoverli.style.border = "0px";     
     dragoverli.style.cursor = "default";
     var cul = dragli.parentNode;     
    // _reorderconfigitems( cul ); 这个是对后台对象的重新排序    
    }
    if(cdiv)cdiv.remove();
   }
  });
 } 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值