js实现拖拽功能

不是每天都有阳光,不是每天都会凉爽,只要我们心中有阳光,人生总会是晴朗,只要我们心中有凉爽,每天都会充满希望。早安!

效果图:(红色方块可任意拖动)

代码如下:

 <meta charset="UTF-8">
 <meta name="Generator" content="EditPlus®">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <title>Document</title>
 <style type="text/css">
 *{
 margin:0;
 padding:0;
 }
 body{
 background:url("img/2345_image_file_copy_1.jpg");
 }
 #d1{
 width:100px;
 height:100px;
 background:red;
 margin-left:300px;
 }
 </style>
 </head>
 <body>
 <div id="d1"></div>
 </body>
 <script>
 window.onload=function(){
 var d1=document.getElementById("d1");
 d1.onmousedown=function(e){
 var mouseX=e.clientX;
 var mouseY=e.clientY;//计算xy
 var pianyiX=mouseX-d1.offsetLeft;
 var pianyiY=mouseY-d1.offsetTop;
 document.onmousemove=function(e){
 var newX=e.clientX-pianyiX;
 var newY=e.clientY-pianyiY;
 d1.style.marginLeft=newX+"px";
 d1.style.marginTop=newY+"px";
 }
 };
 document.onmouseup = function(e){
 document.onmousemove = null ;
 };
 }
 /*
 结果,上面的onmousemove要写在document上,我写在div上导致错误
 */
 </script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

您可能有感兴趣的文章
简单实现ajax拖拽上传文件

基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)

JavaScript使用面向对象实现的拖拽功能详解

原生JS使用Canvas实现拖拽式绘图功能

运用js实现图层拖拽的功能