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

HTML5 拖拽图片到网页内


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>拖拽本地图片到页面指定元素内</title>


     
   <script type="text/javascript">
            window.onload = function() {


/*
拖拽事件监听========================================
*/
                var oDropBox = document.getElementById('dropBox');
                
                oDropBox.addEventListener('dragover', function(e) {
                    e.stopPropagation();
                    e.preventDefault();
                }, false);
                oDropBox.addEventListener('drop', handleDrop, false);
                
                function handleDrop(e) {
                    e.stopPropagation();
                  e.preventDefault();
                    
                    var fileList  = e.dataTransfer.files,  //获取拖拽文件
                        fileType = fileList[0].type,
                     oImg = document.createElement('img'),
                     reader = new FileReader();
                    
                    if (fileType.indexOf('image') == -1) {
                        alert('请拖拽图片~');
                        return;
                    }


                    reader.onload = function(e) {


                        oImg.src = reader.result;
                        oDropBox.innerHTML = '';
                        oDropBox.appendChild(oImg);
                    }
                    reader.readAsDataURL(fileList[0])
                }


/*
控制大小==========================================
*/
document.getElementById("btnLarger").onclick = function(){
var obj = document.getElementById("dropBox");
if(!obj || obj.width >= 800 || obj.height >= 800){
return;
}


increaseObjWidth(obj,10);
increaseObjHeight(obj,10);
}


document.getElementById("btnSmaller").onclick = function(){
var obj = document.getElementById("dropBox");
if(!obj || obj.width <= 0 || obj.height <= 0){
return;
}
increaseObjWidth(obj,-10);
increaseObjHeight(obj,-10);


}
//===============================================


            }


function increaseObjWidth(obj,increaseBy){
obj.style.width = parseInt(obj.style.width) + increaseBy + "px";
}


function increaseObjHeight(obj,increaseBy){


obj.style.height = parseInt(obj.style.height) + increaseBy + "px";
}
        </script>


</head>
<body>


<div>
<input type="button" value="+" id ="btnLarger"></input>
<input type="button" value="-" id="btnSmaller"></input>
</div>  
   <div id="dropBox" style="float:left;width:300px;height:200px;margin:10px 0 0 0;border:1px solid #015EAC;color:#666;overflow:hidden;">


   </div>


</body>
</html>


相关文章:

  • HTML5批量拖拽图片到网页
  • [创业] 美国硅谷风险投资行业的详细报告(2008年第四季度)
  • C# 异步调用代理类
  • C#事件和委托的基础知识模型
  • 异步发送HTTP请求
  • Flex开发流程设计器的经验之谈(2)
  • html5 涂鸦板
  • [IE编程] IE中使网页元素进入编辑模式
  • linux命令练习 笔记
  • [IE技巧] IE 中打开Office文件的设置
  • 配置系统未能初始化 错误的解决方案
  • [IE编程] IE中对网页进行截图的编程接口
  • c# 反射 遍历实体的所有字段,ObjectDumper类实现
  • Flex开发流程设计器的经验之谈(3)
  • 飞信分布式存储的结构
  • @jsonView过滤属性
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【Amaple教程】5. 插件
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • es6--symbol
  • JAVA之继承和多态
  • js
  • Laravel Telescope:优雅的应用调试工具
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Python实现BT种子转化为磁力链接【实战】
  • session共享问题解决方案
  • SOFAMosn配置模型
  • Theano - 导数
  • Vim Clutch | 面向脚踏板编程……
  • vue2.0项目引入element-ui
  • windows下mongoDB的环境配置
  • yii2权限控制rbac之rule详细讲解
  • 理解在java “”i=i++;”所发生的事情
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 2017年360最后一道编程题
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #Lua:Lua调用C++生成的DLL库
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #QT(串口助手-界面)
  • $.ajax()
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (SpringBoot)第二章:Spring创建和使用
  • (八)Flask之app.route装饰器函数的参数
  • (全注解开发)学习Spring-MVC的第三天
  • (转)http协议
  • .NET Core 2.1路线图
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net开发时的诡异问题,button的onclick事件无效
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .pop ----remove 删除
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心