当前位置: 首页 > news >正文

HTML5之文件拖拽

将HTML5中的文件拖拽封装成了类,供需要的人使用:

drag.js:

document.write("<script language='javascript' src='utility.js'></script>");


//要放在哪个容器,容器的ID

function FileDrager(cntId){
this.containerId = cntId;
}

FileDrager.prototype = {

// 判断是否图片
isImage : function(type) {
            switch (type) {
            case 'image/jpeg':
            case 'image/png':
            case 'image/gif':
            case 'image/bmp':
            case 'image/jpg':
                return true;
            default:
                return false;
            }
},

初始化
Init : function(){
    获得放图片的容器
    var ctn = $(this.containerId);

ctn.addEventListener('dragover',  function(evt) {
            evt.stopPropagation();
            evt.preventDefault();
        }, false);


ctn.addEventListener('drop', function(e) {

e.stopPropagation();
e.preventDefault();

var fileList  = e.dataTransfer.files,  //获取拖拽文件
oImg = document.createElement('img'),
reader = new FileReader();

var c = ctn;
var x = e.clientX;
var y = e.clientY;


reader.onload = function(evt) {
oImg.src = this.result;

oImg.style.position = "absolute";
oImg.style.left = x;
oImg.style.top = y;

c.appendChild(oImg);
}
reader.readAsDataURL(fileList[0]);

}, false);

}


}


相关文章:

  • JS中的反射
  • 经济危机时代,如何管理好自己的财富?
  • HTML5拖拽二 植物大战僵尸V0.1版本
  • C# 中where类型约束
  • oracle函数之:translate
  • json 序列化与反序列化类
  • 关于RenderTarget的注意事项
  • HTTP listener 的封装---HttpListenerEx
  • C#把外部文件拖入PictureBox中
  • C# 中 字符串和byte数组的转换
  • 《重构——改善既有代码的设计》
  • 二分查找法 C#实现
  • 清华申请退学博士作品:完全用Linux工作
  • C# 压缩和解压缩(Gzip和Zip的方式)
  • Jsp联接Access数据库文件的方法
  • CentOS从零开始部署Nodejs项目
  • extract-text-webpack-plugin用法
  • Java小白进阶笔记(3)-初级面向对象
  • k个最大的数及变种小结
  • Less 日常用法
  • nginx 负载服务器优化
  • OSS Web直传 (文件图片)
  • python学习笔记 - ThreadLocal
  • Python学习之路16-使用API
  • Python中eval与exec的使用及区别
  • ReactNative开发常用的三方模块
  • Redis学习笔记 - pipline(流水线、管道)
  • SSH 免密登录
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 高程读书笔记 第六章 面向对象程序设计
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于遗传算法的优化问题求解
  • 看域名解析域名安全对SEO的影响
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 数据可视化之 Sankey 桑基图的实现
  • 微信公众号开发小记——5.python微信红包
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 小程序 setData 学问多
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​Java并发新构件之Exchanger
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #NOIP 2014#Day.2 T3 解方程
  • #QT(TCP网络编程-服务端)
  • $.ajax()方法详解
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (ibm)Java 语言的 XPath API
  • (zt)最盛行的警世狂言(爆笑)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)windows配置JDK环境
  • (分类)KNN算法- 参数调优
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十五)使用Nexus创建Maven私服