拖动层

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
/*
*className Xdrag
@param obj 被拖动的dom节点
@param box obj被拖动的范围默认为document.body
*/
function Xdrag(obj,box){
    var mask=0;//设置监听是否鼠标按下
        obj.style.position="absolute";
        var Ow=obj.offsetWidth;//获取拖动对象的宽高
        var Oh=obj.offsetHeight;
        if(!box){
                box=document.body;
        }
    var Bw=box.offsetWidth;//获取拖动容器的宽高
    var Bh=box.offsetHeight;
        obj.style.position="absolute";
        obj.οnmοusedοwn=function(e){
                var e=e||window.event;
                this.onselectstart=function(){return false;}
                var eSrc=e.srcElement||e.target;
                mask=1;
                XCapture(obj,"start");
        Ex=XmouseCoords(e).x-XgetPosition(obj).x;
                Ey=XmouseCoords(e).y-XgetPosition(obj).y;
        }
        document.οnmοusemοve=function(e){
            var e=e||window.event;
                if(mask==1){
                  var Ox=XmouseCoords(e).x-Ex;
                  var Oy=XmouseCoords(e).y-Ey;
                  if(box){
                        var Bx=XgetPosition(box).x;
                        var By=XgetPosition(box).y;
                        if(Ox<Bx){
                                Ox=Bx;
                        }
                        else if(Ox>Bx+Bw-Ow){
                                Ox=Bx+Bw+-Ow;
                        }
                        if(Oy<By){
                                Oy=By;
                        }
                        else if(Oy>By+Bh-Oh){
                            Oy=By+Bh-Oh;
                       
                        }
                  }
                 obj.style.left=Ox+"px";
                 obj.style.top=Oy+"px";
                }
        }
        obj.omouseup==function(e){
                maks=0;
                XCapture(obj,"end");
       
        }
        document.body.οnmοuseup=function(){
                mask=0;
                XCapture(obj,"end");
        }
}
/*获取鼠标位置*/
function XmouseCoords(ev){
        if(ev.pageX || ev.pageY){
                return {x:ev.pageX, y:ev.pageY};
        }
        return {
                x:ev.clientX + document.documentElement.scrollLeft,
                y:ev.clientY + document.documentElement.scrollTop
        };
}
/*设置事件捕获
*function  XCapture
@param o, 捕获事件的对象
@param mak,状态 "start" or "end"
*/
function XCapture(o,mak){
    if(mak=="start"){
          if(o.setCapture){o.setCapture();}
          else if(window.captureEvents)
                         {window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);}
        }
        if(mak=="end"){
          if(o.releaseCapture){o.releaseCapture();}
          else if(window.captureEvents)
                        {window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);}
         }
       
}
/*获取指定节点的坐标*/
function XgetPosition(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:left, y:top};
}
</script>
</head>
<body οnlοad="Xdrag(mm,kk);"><table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="15" width="700" bgcolor="#0099CC" id="kk"><img id="mm" src="2.png"  /></td>
  </tr>
</table>
</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值