我用JavaScript写了一个拖拽效果,但是总也不好使,是哪里问题呢?

<html>
<head>
<style type='text/css'>
#div1{width:100px;height:100px;background:red;position:absolute;}
</style>
<script>
window.onload=function(){
var oDiv = document.getElementById("div1");

oDiv.onmousedown=function(ev){

var oEvent = ev||event;
var disX = oEvent.clientX-oEvent.offsetLeft;
var disY = oEvent.clientY - oEvent.offsetTop;

document.onmousemove=function(ev){
var oEvent = ev||event;
oDiv.style.left=oEvent.clientX-disX+"px";
oDiv.style.top=oEvent.clientY-disY+"px";
}

document.onmouseUp=function(ev){
document.onmousemove=null;
document.onmouseUp=null;
}

}

}
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
RunJS 演示代码
</title>
<style type='text/css'>
#div1{
width:100px;
height:100px;
background:red;
position:absolute;
}
</style>
<script>
window.onload=function(){
var oDiv = document.getElementById("div1");

oDiv.onmousedown=function(ev){

var oEvent = ev||window.event;
var disX = oEvent.clientX-oDiv.offsetLeft;
var disY = oEvent.clientY - oDiv.offsetTop;

document.onmousemove = function(ev){
var oEvent = ev||window.event;
oDiv.style.left=oEvent.clientX-disX+"px";
oDiv.style.top=oEvent.clientY-disY+"px";
}

document.onmouseup=function(ev){
document.onmousemove=null;
document.onmouseUp=null;
}
}
}
</script>
  </head>
<body>
    <div id="div1">
</div>
  </body>
</html>

温馨提示:答案为网友推荐,仅供参考