zoukankan      html  css  js  c++  java
  • 创建一个可拖动的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>
    

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

  • 相关阅读:
    php的webservice的soapheader认证问题
    训练与解码
    ajax 图片上传
    js倒计时
    数据分析有价值的博客
    [Luogu P5675][GZOI2017]取石子游戏
    [BZOJ4558/LOJ2025/Luogu3271][GZOI2016/JLOI2016/SHOI2016]方
    [BZOJ4557/LOJ2024/Luogu3267][GZOI2016/JLOI2016/SHOI2016]侦察守卫
    PKUWC2019游记
    随机带权选取文件中一行 分类: linux c/c++ 2014-06-02 00:11 344人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/CBDoctor/p/3777842.html
Copyright © 2011-2022 走看看