zoukankan      html  css  js  c++  java
  • 适合pc端的移动拖拽,分享一下。

    h5新加的特性拖拽事件,但是只适合PC端哦。不多说了上代码

    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<style type="text/css">
    		body{
    			position: relative;
    			margin: 0;
    		}
    		body:before{
    			content: ' ';
    			display: table;
    		}
    
    		#p3{
    			position: absolute;
    		}
            #div1{
                 100px;
                height: 100px;
                position: absolute;
                top:500px;
                left:500px;
                background: #000;
            }
    	</style>
    </head>
    <body>
    	<h1>拖动的源对象可能触发的事件</h1>
    <!-- 	<p class="p1"></p> -->
    	<img id="p3" src="qd.png"/>
        <div id="div1"></div>
    <script>  
    	//事件源p3开始拖动
    	var offsetX,offsetY;
        p3.ondragstart=function(e){  
            console.log('事件源p3开始拖动');  
            //记录刚一拖动时,鼠标在飞机上的偏移量  
            offsetX= e.offsetX;  
            offsetY= e.offsetY;  
        }  
        //事件源p3拖动中
        p3.ondrag=function(e){  
            console.log('事件源p3拖动中');  
            var x= e.pageX;  
            var y= e.pageY;  
            console.log(x+'-'+y);  
            //drag事件最后一刻,无法读取鼠标的坐标,pageX和pageY都变为0  
            if(x==0 && y==0){  
                return; //不处理拖动最后一刻X和Y都为0的情形  
            }  
            x-=offsetX;  
            y-=offsetY;  
      
            p3.style.left=x+'px';  
            p3.style.top=y+'px';  
        } 
        // 源对象p3拖动结束
        p3.ondragend=function(){  
            console.log('源对象p3拖动结束');  
        } 
        //源对象被拖动着进入目标对象
        div1.ondragenter = function(){
            console.log('drag enter111111111111111111');
        } 
        //源对象被拖动着悬停目标对象上方
        div1.ondragover = function(e){
            //dragover 事件默认行为:必须触发drag leave
            e.preventDefault();// 阻止事件的默认行为,使得drop事件可能触发
            //有个默认行为是必须触发dragleave
            console.log('drag over');
        } 
         //源对象被拖动着离开了目标对象
        div1.ondragleave = function(){
            console.log('drag leave');
        } 
         //源对象被拖动着目标对象上方被释放被松手
        div1.ondrop = function(){
            console.log('drag drop');
        } 
    </script> 
    </body>
    
    </html>
    

      

  • 相关阅读:
    lnmp yum源的安装自己总结。
    bootstrap 表单validator与ajax验证!!!!
    laravel5.4 安装
    学习进度条
    作业8:单元测试练习(个人练习)
    作业7: 用户体验设计案例分析
    学生成绩录入系统设计与实现(1)
    作业5:需求分析
    结对项目—— 词频统计
    结对项目—— 词频统计
  • 原文地址:https://www.cnblogs.com/wenbodeboke/p/9604212.html
Copyright © 2011-2022 走看看