拖拽--拖拽过程出现虚框效果

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>拖拽--带框拖拽</title>
 6         <style>
 7             #div1{
 8                 width: 100px;
 9                 height: 100px;
10                 background: red;
11                 position: absolute;
12             }
13             #div1:hover{
14                 cursor: pointer;
15             }
16             .box{
17                 border: 1px dashed black;
18                 position: absolute;
19             }
20         </style>
21     </head>
22     <body>
23         <div id="div1"></div>
24         <script>
25             var oDiv = document.getElementById(‘div1‘);
26
27             var disX = 0;    //鼠标的横向距离
28             var disY = 0;     //鼠标的纵向距离
29
30             oDiv.onmousedown = function(ev){
31                 var oEvent = ev || event;
32                 disX = oEvent.clientX - oDiv.offsetLeft;
33                 disY = oEvent.clientY - oDiv.offsetTop;
34
35                 var oBox = document.createElement(‘box‘);
36                 oBox.className = ‘box‘;
37
38                 oBox.style.width = oDiv.offsetWidth - 2 + ‘px‘;
39                 oBox.style.height = oDiv.offsetHeight - 2 + ‘px‘;
40
41                 oBox.style.left = oDiv.offsetLeft + ‘px‘;
42                 oBox.style.top = oDiv.offsetTop + ‘px‘;
43
44                 document.body.appendChild(oBox);
45
46                 document.onmousemove = function(ev){
47                     var oEvent = ev || event;
48                     var l = oEvent.clientX - disX;
49                     var t = oEvent.clientY - disY;
50
51                     //根据最新的鼠标坐标来确定div的坐标
52                     oBox.style.left = l + ‘px‘;
53                     oBox.style.top = t + ‘px‘;
54                 }
55
56                 document.onmouseup = function(ev){
57                     document.onmousemove = null;
58                     document.onmouseup = null;
59
60                     oDiv.style.left = oBox.offsetLeft + ‘px‘;
61                     oDiv.style.top = oBox.offsetTop + ‘px‘;
62
63                     document.body.removeChild(oBox);
64                 }
65
66                 //解决火狐拖拽的bug,取消默认事件
67                 return false;
68             }
69         </script>
70     </body>
71 </html>

效果:

时间: 2024-11-01 13:32:20

拖拽--拖拽过程出现虚框效果的相关文章

[Android]仿新版QQ的tab下面拖拽标记为已读的效果

以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4182929.html 可拖拽的红点,(仿新版QQ,tab下面拖拽标记为已读的效果),拖拽一定的距离可以消失回调.       GitHub:DraggableFlagView(https://github.com/wangjiegulu/DraggableFlagView) 实现原理: 当根据touch事件的移动,不断调用onDraw()方法进行刷新绘制. *

delphi Form属性设置 设置可实现窗体无最大化,并且不能拖大拖小

以下设置可实现窗体无最大化,并且不能拖大拖小BorderIcon 设为---biMax[False] biHelp [False]BorderStyle 设为---bsSingle 参考-------------- 可以通过设置窗体的属性以及编程的方法,限制和控制窗体的变化.如让窗体不能最小化.最大化.-----1.通过属性设置方法使用Form的BorderIcon属性,我们可设置窗体是否具有系统菜单(biSystemMenu).最小化按钮(biMinimize).最大化按钮(biMaximiz

WinForm实现类似QQ停靠,显示隐藏过程添加特效效果

原文:WinForm实现类似QQ停靠,显示隐藏过程添加特效效果 这可能是个老题长谈的问题了,只是在项目中会用到这个效果,所以今天做个记录.大家见了别喷我.在项目中的需求是这样的. 打开程序,在屏幕的右下角会显示一个窗体,一般情况下该窗体会隐藏停靠在右边,只露出很小部分,当鼠标移动到这个很小部分时,窗体全部显示,显示过程是从右边滑动到左边,当鼠标离开窗体时,窗体需要隐藏在右边,只露出很小部分,隐藏过程是从左边滑动到右边. 实现此类效果我碰到的连个难点是:1.如何判断鼠标离开了窗体?2.窗体显示隐藏

拖着拖着就死了!

人的一生面临很多选择,小到决定每餐吃什么,大到选择婚姻对象.做决定不是件容易事,尤其当遇到人生中的大事时.似乎这是一种选择困难症,但其实是反应了人的一种习惯,即喜欢拖延. 研究显示,约20%的成人属于习惯性拖延者,但大部人只是偶尔将今日想做或应做的事情推后到第二天完成.重要的是,我们并没有意识到这是拖延,也并未意识到这样会破坏我们的快乐.而拖延者本身的压力感会更强,更易生病.有拖延习惯的人往往会错过很多机会.所以今日事今日毕,你会发现生活其实很美好. 拖延者并不是太懒或太悠闲,而是害怕失败.下面

c# 实现文件拖入和拖出(拖拽)

摘自:http://www.cnblogs.com/eaglet/archive/2009/01/06/1370149.html C# WinForm下一步一步实现文件的拖入和拖出 作者:Eaglet 在WinForm实现一个类似资源浏览器的功能,需要实现将WinForm中列出的文件拖出到其他应用程序中或者从其他应用程序中将文件拖入到Winform应用中.网上有一些文章介绍这种功能,但都比较零散,缺少一个完整的例子.为此我编写了一个较完整的实现文件拖入和拖出的例子,并撰写此文一步步讲解如果实现类

左赚撞拽bzsco拽ajd

罪棕妆孜专纵篆浊椎钻锥醉撰左罪桌字卒嘴浊祖拙专谞灼鬃嘴装租拙柞捉追妆茁锥拽壮篆族谆茁准资卒滓酌奏佐字组遵桩诅遵谞撰着阻缀孜纵昨着谞尊浊渍咨阻装撞桌锥纵资紫爪姿籽拽状足卒踪壮专转足总鬃驻字谆谆滋祝谞紫专踪椎佐足坠奏滋琢组锥钻罪作尊诅仔棕桌准桌撞总咨坐浊坐http://weibo.com/p7P/1001604190469012735635看握拔刻fep圃SW http://weibo.com/p5P/1001604190468819794197形醒栽挝bdc瘟KI http://weibo.com

给Activity切换过程添加动画效果

首先,在资源文件中定义一些动画效果 例如: <scale android:duration="@android:integer/config_mediumAnimTime" android:fromXScale="1.0" android:fromYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:toXScale=&quo

Android自定义控件:类QQ未读消息拖拽效果

QQ的未读消息,算是一个比较好玩的效果,趁着最近时间比较多,参考了网上的一些资料之后,本次实现一个仿照QQ未读消息的拖拽小红点,最终完成效果如下: 首先我们从最基本的原理开始分析,看一张图: 这个图该怎么绘制呢?实际上我们这里是先绘制两个圆,然后将两个圆的切点通过贝塞尔曲线连接起来就达到这个效果了.至于贝塞尔曲线的概念,这里就不多做解释了,百度一下就知道了. 切点怎么算呢,这里我们稍微复习一些初中的数学知识.看了这个图之后,求出四个切点应该是轻而易举了. 现在思路已经很清晰了,按照我们的思路,开

Android中GridView拖拽的效果

最 近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了 一个例子.还是很有趣的,实现的流畅度没有人家的那么好,我只是模仿这种效果,我写的这个拖拽是两个图标之间进行交换,所以,当从一行的某个位置,换到下 一行的另一列的时候,发现有好几个图标都改变位置了,因为是相邻两个交换位置,所以每经过相邻的图标的时候都改变位置.先弄个雏形,以后再更新优化. 转载请标明出处:http://blog.csdn.net/wd