注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 [业内传闻]今天,7月25日..
 帮助

转JS的拖动层


2007-04-18 17:44:55
 标签:js 拖动   [推送到技术圈]

一直用自己写的拖动层代码,可是发现只能拖动img等对象,今天憋不住了,网上找了一个,还不错
 
<script language="javascript">
  function $(_sId){return document.getElementById(_sId);}
 
 function moveStart (event, _sId){
   var oObj = $(_sId).parentNode.parentNode;
   oObj. = mousemove;
   oObj. = mouseup;
   oObj.setCapture ? oObj.setCapture() : function(){};
   oEvent = window.event ? window.event : event;
   var dragData = {x : oEvent.clientX, y : oEvent.clientY};
   var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};
  
   function mousemove(){
    var oEvent = window.event ? window.event : event;
    var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);
    var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);
    oObj.style.left = iLeft;
    oObj.style.top = iTop;
    dragData = {x: oEvent.clientX, y: oEvent.clientY}; 
   }
  
   function mouseup(){
    var oEvent = window.event ? window.event : event;
    oObj. = null;
    oObj. = null;
    if(oEvent.clientX < 1 || oEvent.clientY < 1 || oEvent.clientX > document.body.clientWidth || oEvent.clientY > document.body.clientHeight){
    oObj.style.left = backData.y;
    oObj.style.top = backData.x;
     }
     oObj.releaseCapture ? oObj.releaseCapture() : function(){};
   }
 }
</script>
<div style="background:#cccccc;width:300px;position:absolute;top:20;left:30">asdcZd<div><div id="mov" style="position:absolute;height:50px;width:300px;background-color:#FF33ff;top:20px;left:100px;" onMouseDown="javascript:moveStart(event,'mov');"></div></div></div>




    文章评论
 
2007-06-12 18:25:55
代码有错误。
建议楼主看一下jquery,很不错,写起东西来方便多了。

2008-05-06 15:03:34
$(_sId)
这是什么呀,运行报错

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: