免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2454 | 回复: 0
打印 上一主题 下一主题

JS通用窗口拖动函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-23 17:00 |只看该作者 |倒序浏览
JS通用窗口拖动函数
view sourceprint?
  1. <PRE class=brush:javascript;gutter:false;>调用请使用: onmousedown='Move_obj("objId")'  objId: 表示你想拖动的窗口ID </PRE>

  2. view sourceprint?<script language="JavaScript" type="text/javascript">  

  3.     ////  

  4.     // 点击拖动窗口- 调用请使用: onmousedown='Move_obj("objId")'  objId: 表示你想拖动的窗口ID  

  5.     ////  

  6.     var drag_=false;  

  7.     //获取输入:ID, 获得objId对象  

  8.     var D=new Function('obj','return document.getElementById(obj);');  

  9.     var oevent=new Function('e','if (!e) e = window.event;return e');  

  10.     var obj_move=false;  

  11.     function Move_obj(obj){  

  12.         var x,y;  

  13.         obj_move=true;  

  14.         //注册obj对象鼠标按下事件  

  15.         D(obj).onmousedown=function(e){  

  16.             //取消拖动  

  17.             if(!obj_move)return false;  

  18.             drag_=true;  

  19.             //with(this): 为区域语句设定默认对象。style等价于 this.style  

  20.             with(this){  

  21.                 //obj对象offsetLeft距离左边距离 不包括marginLeft宽度, offsetTop同理  

  22.                 style.position="absolute";var temp1=offsetLeft;var temp2=offsetTop;  

  23.                 //clientX 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(或当前窗口)的水平坐标。  

  24.                 x=oevent(e).clientX;y=oevent(e).clientY;  

  25.                 document.onmousemove=function(e){  

  26.                     //取消拖动  

  27.                     if(!drag_)return false;  

  28.                     with(this){  

  29.                         //obj距离左边距离 + 外边距 + 鼠标移动距离  

  30.                         style.left=temp1-Number(style.marginLeft.substring(0,style.marginLeft.length-2))+oevent(e).clientX-x+"px";  

  31.                         style.top=temp2-Number(style.marginTop.substring(0,style.marginTop.length-2)) +oevent(e).clientY-y+"px";  

  32.                     }  

  33.                 }  

  34.             }  

  35.             document.onmouseup=new Function("drag_=false;obj_move=false;");  

  36.         }  

  37.     }  

  38.     </script>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP