dragmove

http://www.blueidea.com/tech/web/2006/3791_5.asp

 

 

 

document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

var dragObject  = null;
var mouseOffset = null;

function getMouseOffset(target, ev){
 ev = ev || window.event;

 var docPos    = getPosition(target);
 var mousePos  = mouseCoords(ev);
 return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
 var left = 0;
 var top  = 0;

 while (e.offsetParent){
  left += e.offsetLeft;
  top  += e.offsetTop;
  e     = e.offsetParent;
 }

 left += e.offsetLeft;
 top  += e.offsetTop;

//return {
 // x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
 // y:ev.clientY + document.body.scrollTop  - document.body.clientTop
// };

 return {x:left, y:top};
}

function mouseMove(ev){
 ev           = ev || window.event;
 var mousePos = mouseCoords(ev);

 if(dragObject){
  dragObject.style.position = 'absolute';
  dragObject.style.top      = mousePos.y - mouseOffset.y;
  dragObject.style.left     = mousePos.x - mouseOffset.x;

  return false;
 }
}
function mouseUp(){
 dragObject = null;
}

function makeDraggable(item){
 if(!item) return;
 item.onmousedown = function(ev){
  dragObject  = this;
  mouseOffset = getMouseOffset(this, ev);
  return false;
 }
}

 

 

 

var targWidth  = parseInt(curTarget.offsetWidth);
  var targHeight = parseInt(curTarget.offsetHeight);

 

 

setAttribute('startWidth',  parseInt(offsetWidth));
      setAttribute('startHeight', parseInt(offsetHeight));
      setAttribute('startLeft',   pos.x);
      setAttribute('startTop',    pos.y);

(getAttribute('startTop')

 

 

 

<script language="javascript">
  var currentObj=null;
  var offleft;
  var offtop;
  function funMup()
  {
   currentObj=null;
  }
  function funMdown(obj)
  {
   currentObj=obj;
   offleft=event.x-obj.style.pixelLeft;
   offtop=event.y-obj.style.pixelTop;
   
   
  }
  document.οnmοuseup=funMup;
  
  function funMove()
  {
   if(currentObj!=null)
   {
    //alert()
    currentObj.style.top=event.y-offtop;
    currentObj.style.left=event.x-offleft;
    //currentObj.style.pixelTop=event.y-offtop;
    //currentObj.style.pixelLeft=event.x-offleft;
   }
  }
  document.οnmοusemοve=funMove;
  function dd()
  {
   if(currentObj!=null)
   {
    //alert()
    currentObj.style.top=event.y-offtop;
    currentObj.style.left=event.x-offleft;
    //currentObj.style.pixelTop=event.y-offtop;
    //currentObj.style.pixelLeft=event.x-offleft;
    
   }
   
  }
  function funclick()
  {
   var bb=testfun();
   alert(bb.x);
  
  }
  function testfun()
  {
   return{x:00,y:11};
  }
  function cl()
  {
   alert( document.body.clientTop);
   alert(event.clientX);
   alert(event.srcElement.id);
  }
  function ma()
  {
   alert(arguments.length);
  }
  
  </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值