本篇文章主要介绍了HTML5拖拉上传文件的简单实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在HTML5的pc上面实现了相当多的功能,工作中也用到了拖拉上传,特地记录下该功能

在拖动目标上触发事件 (源元素):

ondragstart - 用户开始拖动元素时触发

ondrag - 元素正在拖动时触发

ondragend - 用户完成元素拖动后触发

释放目标时触发的事件:

ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发此事件

ondragover - 当某被拖动的对象在另一对象容器范围内拖动时触发此事件

ondragleave - 当被鼠标拖动的对象离开其容器范围内时触发此事件

ondrop - 在一个拖动过程中,释放鼠标键时触发此事件

上代码

拖拽

.box{width:800px;height:600px;float:left;}

#box1{background-color:#ccc;}

#box2{background-color:#000;}

var box1p,box2p,msgp,img1;

window.onload = function(){

box1p = document.getElementById('box1');

box2p = document.getElementById('box2');

msgp = document.getElementById('msg');

img1 = document.getElementById('img1');

box1p.ondragover = function(e){e.preventDefault();}

box2p.ondragover = function(e){e.preventDefault();}

img1.ondragstart = function(e){e.dataTransfer.setData('imgId','img1');}

box1p.ondrop = dropImghandler;

box2p.ondrop = dropImghandler;

}

function dropImghandler(e){

showObj(e);//获取拖放所有信息

showObj(e.dataTransfer);//获取文件

e.preventDefault();

var img = document.getElementById(e.dataTransfer.getData('imgId'));

e.target.appendChild(img);

}

function showObj(obj){

var s = '';

for(var k in obj){s += k+":"+obj[k]+"
";}

msgp.innerHTML = s;

}

该功能是可以将图片拖拉到左右两个p中的方法,我觉得没啥用,可以当作哈啤

下面是拖拉上传代码,后端PHP获取到$_FILES之后就可以搞起来了

拖放上传

#imgContainer{background:#ccc;width:500px;height:500px;}

var imgContainer,msgp;

window.onload = function(e){

imgContainer = document.getElementById('imgContainer');

msgp = document.getElementById('msg');

imgContainer.ondragover = function(e){

e.preventDefault();

}

imgContainer.ondrop = function(e){

e.preventDefault();

var f = e.dataTransfer.files[0];

//这时已经获取到文件了,具体想要用第几个文件自己处理,发post请求后端处理就行了!

//下面是图片获取到之后显示在imgContainer中的流程

// var fileReader = new FileReader();

// fileReader.οnlοad=function(){

// imgContainer.innerHTML = ""

// }

// fileReader.readAsDataURL(f);

// showObj(e); //显示上传信息

// showObj(e.dataTransfer.files);

}

}

function showObj(obj){

var s = '';

for(var k in obj){s += k+":"+obj[k]+"
";}

msgp.innerHTML = s;

}

h5执行php函数,值得一个的5个强大的HTML5API 函数相关推荐

  1. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 解题思路: 字符串以\0作为结尾,则从第一个字符开始向后移动遇到\0认为字符串结束. 答案: #include <std ...

  2. 编写一个函数判断一个整数是不是素数c语言,编写函数判断一个整数是否为素数...

    题目内容: 编写函数int isprime(int a);用来判断整数a是否为素数,若是素数,函数返回1,否则返回0.调用该函数找出任意给定的n个整数中的素数. 注意,1不是素数. 输入格式: 一系列 ...

  3. 编写一个函数判断一个整数是不是素数c语言,编写函数判断一个整数是否为素数....

    #include <stdio.h> #include <math.h> /* 7-5 判断一个整数是否为素数 (15 分) 本题要求编写程序,判断一个给定的整数是否为素数.素 ...

  4. 用php数组做一个表格,一个非常好用的PHP数组函数

    该函数非常有用,在PHP 5.5中可直接调用. 有如下二维数组,如要抽取每个子数组中的特定项. // Array representing a possible record set returned ...

  5. C语言返回指针的函数,指针函数,让一个函数返回一个字符串

    C语言函数返回指针的函数(指针函数) 什么是返回指针的函数 一个函数可以返回一个整形值 字符型值 实型值 1.如果一个函数它的返回值是一个地址(是一个指针的话),这个函数是一个返回值是指针即指针函数. ...

  6. ostream作为函数返回值_Go语言入门必知教程-函数

    函数是为了执行特定任务而存在于程序内的一组语句,函数接受输入并返回输出. 函数允许将常用的代码块提取出来成为单个组件. 使用最广的Go函数是main(),每个独立的Go程序都必须有个main函数. 创 ...

  7. linux注册函数机制,Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动...

    原标题:Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动 2.3 函数实现机制 2.3.1 Linux 字符设备驱动 在linux 3.5.4中,用结构体cdev描述字符设备,cde ...

  8. 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码......

    当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个"正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码&quo ...

  9. 无法执行 FunctionImport“entitys.xx”,因为未将它映射到存储函数。EF

    EF突然报了一个这样的错误: 无法执行 FunctionImport"entitys.xx",因为未将它映射到存储函数.EF 其中xx是存储过程: 可能是因为我在.edmx文件中& ...

最新文章

  1. OpenCV读写视频文件解析(二)
  2. nodejs基础学习-文件读取
  3. VMware Storage Array 访问模式
  4. LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
  5. 前端学习(2874):原生js模块化+canvas绘制弹幕
  6. arma模型_GARCH模型应用:以国泰君安为例
  7. android 获取加速度传感器值,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...
  8. 关于OpenCV的那些事——相机姿态更新
  9. fiddler 自动响应数据保存_想测试HTTP响应不知道如何开展怎么办?
  10. 【报告分享】2020年上半年中国直播电商行业发展分析报告.pdf(附下载链接)...
  11. css的z-index属性,div折腾了好久
  12. python json转xml_Python中xml和json格式相互转换操作示例
  13. iOS及Android 启动页面(即欢迎页面),引导页面,及广告页面的加载
  14. Funcode学习笔记:完成Run、Jump、Idle等动作【后续更新Roll、Attack动作的实现】【By Myself】
  15. Django 实现文件下载
  16. Win7系统电脑调节屏幕亮度的几种方法。
  17. bzoj 2429 聪明的猴子
  18. SylixOS中的CPU集合及其操作
  19. 百度地图JS API 支持HTTPS
  20. Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余

热门文章

  1. java的异常抛出throws和throw的简单使用
  2. Transaction rolled back because it has been marked as rollback-only分析解决方法
  3. 群晖NAS百度云Docker客户端下载目录没有权限的问题解决
  4. PHP cURL可以在单个请求中检索响应标头和正文吗?
  5. .NET 4.0有一个新的GAC,为什么?
  6. Intellij Idea:导入Gradle项目 - 尚未定义JAVA_HOME
  7. Docker中的“公开”和“发布”有什么区别?
  8. 整数的最大值和最小值
  9. 使用jQuery更改图片来源
  10. Spring Security教程 Vol 9. AccessDecisionManager组件介绍