javaScript+html5实现图片拖拽
源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>html5拖拽效果</title>
<style>
#d1 {
width: 400px;
height: 400px;
border: solid black 1px;
float: left;;
} #d2 {
width: 400px;
height: 400px;
border: solid black 1px;
float: right;;
}
</style>
</head> <body>
<div id="d1">
<img src="smallPicture.png" id="myImage">
</div>
<div id="d2"></div>
</body>
</html>
<script type="text/javascript">
var myImage = document.getElementById("myImage");//获取源元素(图片)对象 myImage.addEventListener("dragstart", MyDrageStart);//对源元素添加开始拖拽监听事件 function MyDrageStart(event) {
var imgData = myImage.src;
var trans = event.dataTransfer;//获得dataTransfer对象
trans.setData('text', imgData);
//设置源数据(即将源数据放置到dataTransfer中,个人理解即将myImage的是src赋给dataTransfer,相当于一个中间存储的介质)
} var div2 = document.getElementById("d2");
div2.addEventListener("dragover", MyDragOver);//鼠标每次进入目标元素时触发
div2.addEventListener("drop", MyDrop);//实现拖放效果时触发,即放下的时候触发 function MyDragOver(event) {
event.preventDefault();//去除默认的拖放效果,即html5默认是不允许进行拖放的
} function MyDrop(event) {
var trans = event.dataTransfer;
var mysrc = trans.getData("text");//设置目标元素数据
div2.innerHTML = "<img src=" + mysrc + ">";
trans.clearData("text");//尽量还是要加上这个,因为dataTransfer是会占用内存的,若是一直不清空会影响浏览器的执行效率
var div1=document.getElementById("d1");
div1.removeChild(myImage);//实现将源元素(图片)移到目标元素,而原来的源元素(图片)消失的效果
} </script>
效果图:
移动前:

移动后:

javaScript+html5实现图片拖拽的更多相关文章
- HTML5多图片拖拽上传带进度条
前言 昨天利用css2的clip属性实现了网页进度条觉得还不错,但是很多情况下,我们在那些时候用进度条呢,一般网页加载的时候如果有需要可以用,那么问题就来了,怎么才算整个加载完毕呢,是页面主要模块加载 ...
- HTML5——将图片拖拽上传
如下图所示: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- HTML5图片拖拽预览原理及实现
一.前言 这两天恰好有一位同事问我怎样做一个图片预览功能.作为现代人的我们首先想到的当然是HTML5啦,其实HTML5做图片预览已经是一个老生常谈的问题了.我在这里就简单说说其中相关的一些东西,当然会 ...
- html5 Sortable.js 拖拽排序源码分析
最近公司项目经常用到一个拖拽 Sortable.js插件,所以有空的时候看了 Sortable.js 源码,总共1300多行这样,写的挺完美的. 本帖属于原创,转载请出名出处. 官网http:// ...
- 第一百三十五节,JavaScript,封装库--拖拽
JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...
- 自制一个H5图片拖拽、裁剪插件(原生JS)
前言 如今的H5运营活动中,有很多都是让用户拍照或者上传图片,然后对照片加滤镜.加贴纸.评颜值之类的.尤其是一些拍照软件公司的运营活动几乎全部都是这样的. 博主也做过不少,为了省事就封装了一个简单的图 ...
- canvas 图片拖拽旋转之二——canvas状态保存(save和restore)
引言 在上一篇日志“canvas 图片拖拽旋转之一”中,对坐标转换有了比较深入的了解,但是仅仅利用坐标转换实现的拖拽旋转,会改变canvas坐标系的状态,从而影响画布上其他元素的绘制.因此,这个时候需 ...
- canvas 图片拖拽旋转之一——坐标转换translate
引言 对canvas中绘制的图片进行旋转操作,需要使用ctx.translate变换坐标系,将图片旋转的基点设为坐标系的原点,然后ctx.rotate旋转. 这个时候,因为canvas坐标系发生了旋转 ...
- Android 仿微信朋友圈发表图片拖拽和删除功能
朋友圈实现原理 我们使用 Android Device Monitor 来分析朋友圈发布图片的界面实现原理.如果需要分析其他应用的界面实现也是采用这种方法哦. 打开 Android Device Mo ...
随机推荐
- 类Shiro权限校验框架的设计和实现(2)--对复杂权限表达式的支持
前言: 我看了下shiro好像默认不支持复杂表达式的权限校验, 它需要开发者自己去做些功能扩展的工作. 针对这个问题, 同时也会为了弥补上一篇文章提到的支持复杂表示需求, 特地尝试写一下解决方法. 本 ...
- HTML知识点梳理1
1,HTML基本结构 <!DOCTYPE html> <html> <head></head> <body> </body> & ...
- SQLI DUMB SERIES-7
(1)查看PHP源代码 可以看见输入的id被一对单引号和两对圆括号包围 (2)根据提示:Dump into Outfile可知,此次攻击需要导出文件 (3)在第一关获取 @@datadir 读取数据库 ...
- js 自定义类Android吐司提示框
(function(){ var mouseX = 0; var mouseY = 0; //定义一个全局toaslist用来存在新建的吐司 var toastLsit ...
- cordova热更新插件的使用:cordova-hot-code-push-plugin
1. 添加插件:cordova plugin add cordova-hot-code-push-plugin 2. 先打开cli,执行命令 npm install -g cordova-hot-co ...
- Codeblocks中文乱码解决方法
odeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: 然后点击 Encoding ...
- Eslint 能自动格式化代码,为什么还要用 Prettier?
ESLint 与 Prettier 区别: ESLint:代码检测工具:可以检测出你代码中潜在的问题,比如使用了某个变量却忘记了定义: Prettier:代码格式化工具:作为代码格式化工具,能够统一你 ...
- C#.NET XML报文签名与验签
-- MD5Util: using System; using System.Collections.Generic; using System.Security.Cryptography; usin ...
- stm32在linux下使用clion开发
参考大神的资料,淘宝买了个板子和jlink 几个概念 jlink / openJtag,实现调试协议的硬件 openocd,这个和上面的硬件一起组成调试器 这样有个感性的认识. 具体流程 libusb ...
- 黄聪:OTP动态密码_Java代码实现
OTP认知 动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常 ...