• 创建一个可拖动的DIV


    var drag = function(){  
        var obj = document.getElementById("id");
        var s = obj.style;  
        var b = document.body;   
        var x = event.clientX + b.scrollLeft - s.pixelLeft;   
        var y = event.clientY + b.scrollTop - s.pixelTop; 
       
        var m = function(){  
    	  if(event.button == 1){  
    	   s.pixelLeft = event.clientX + b.scrollLeft - x;   
    	   s.pixelTop = event.clientY + b.scrollTop - y;   
    	  }else {
    	   document.detachEvent("onmousemove", m);
    	  }  
        };  
        document.attachEvent("onmousemove", m);  
        if(!this.z) 
    	  this.z = 999;
        s.zIndex = ++this.z;
        event.cancelBubble = true;  
    };
    

    然后在div中

    <div onmousedown='subway.encapsulate.drag();return false;'/>

    另外,DIV中有自己的拖动事件ondrag(),但是下面的函数还有点问题是拖动时有重影。

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    </head>
    <style type="text/css">
    #myDiv{
    	background-color:#01ff32;
    	height:200px;
    	200px;
    	top:100px;
    	left:300px;
    	position:absolute;
    }
    h1{
    	font-size:40px;
    
    }
    font{
    	color:red;
    	
    }
    </style>
    <script>
    function drag(event){
    	document.getElementById('myDiv').style.top = event.clientY;
    	document.getElementById('myDiv').style.left = event.clientX;
    	document.getElementById('myDiv').style.cursor='default'
    	//event.cancelBubble = true;
    	document.getElementById('myDiv')
    }
    function changeCousor(){
    	
    }
    </script>
    <body>
    <div id="myDiv" ondrag ="drag(event);" onmousedown = "this.draggable = true; " onmouseover="this.style.cursor='hand'">
    	<center>
    		<h1><font>drag me</font></h1>
    	</center>
    </div>
    </body>
    </html>
    

     红色部分标记出来的部分比较重要。再有就是问题出现的原因应该是坐标的计算有点问题。目前的几个坐标还没有考虑清楚,后面会详细介绍几种坐标!

  • 相关阅读:
    02数组
    05集合02map
    05集合03List
    04异常异常
    03常用类
    05集合01集合综述
    centos7自建yum源 安装rpm
    centos扩展磁盘根分区
    systemctl 进阶
    systemctl 入门
  • 原文地址:https://www.cnblogs.com/CBDoctor/p/3777842.html
Copyright © 2020-2023  润新知