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>
    

      

  • 相关阅读:
    hdu 1016 Prime Ring Problem (dfs)
    微信小程序尝鲜一个月现状分析
    创新大师Steve Blank: 你真的知道什么是真正的精益创业吗?
    android studio 开发经常使用快捷键使用分享
    LeetCode:Partition List
    2016 博客导读总结 &amp; 个人感悟
    poj
    Android开之在非UI线程中更新UI
    浅谈数据库生命周期
    从AdventureWorks学习数据库建模——保留历史数据
  • 原文地址:https://www.cnblogs.com/wenbodeboke/p/9604212.html
Copyright © 2011-2022 走看看