javascript头像上传代码实例


Posted in Javascript onSeptember 28, 2019

上传头像:

相关关键词:

ondragover(拖动元素在投放区内移动)

ondrop (元素放在投放区触发但是要去处理浏览器默认事件的影响:ondragenter、ondragover)

dataTransfer(它可以保存一项或多项数据、一种或多数数据类型,通过它来传输被拖动的数据,以便在拖拽结束的时候,对数据进行其他的操作)

<!-- html: -->
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>上传头像图片</title>
  <link rel="stylesheet" type="text/css" href="css/index01.css" rel="external nofollow" />
 </head>
 <body>
  <div class="container">
   <h1>拖动外部图片或单击上传图片</h1>
   <div class="main">
    <input type="file" name="file" id="file"/>
    <img src="img/十字架.png" class="btn">
   </div>
  </div>
 </body>
 <script src="js/index01.js"></script>
</html>
/* css样式: */
*{
 margin: 0;
 padding: 0;
}
.container{
 width: 50%;
 margin: 0 auto;
 height: 400px;
 padding: 20px;
 text-align: center;
}
.main{
 width: 200px;
 height: 200px;
 border: 2px dashed #666;
 margin: 20px auto;
 position: relative;
}
.main input{
 width: 100%;
 height: 100%;
 opacity: 0;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
 z-index: 11;
}
.main .btn{
 width: 150px;
 height: 150px;
 cursor: pointer;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
}
/* js */
window.onload = function() {
 // 获取元素
 var file = document.querySelector("#file");
 var addImg = document.querySelector(".btn");
 var main = document.querySelector(".main");
 // 封装上传图片操作
 function upload(img) {
  // 实例化一个图片对象
  var imgFile = new FileReader();
  // 获取图片的路径
  imgFile.readAsDataURL(img);
  imgFile.onload = function(e) {
   // 将上传图标设置为当前图片
   addImg.src = e.target.result;

  }
 }
 /* 1.点击上传图片 */
 file.onchange = function(e) {
  // 获取上传图片里面的信息
  var img = e.target.files[0];
  upload(img);
 }
 /* 2、拖拽上传 */
 main.ondragover = function() {
  return false;
 }
 main.ondrop = function(e) {
  upload(e.dataTransfer.files[0]);
  return false;
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 避免闭包引发的问题
Mar 17 Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
Js nodeType 属性全面解析
Nov 14 Javascript
用jquery等比例控制图片宽高的具体实现
Jan 28 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
Mar 12 Javascript
JavaScript中的数据类型转换方法小结
Oct 26 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
微信小程序 动态绑定事件并实现事件修改样式
Apr 13 Javascript
node+express框架中连接使用mysql(经验总结)
Nov 10 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 Javascript
解决layui laydate 时间控件一闪而过的问题
Sep 28 #Javascript
JavaScript生成随机验证码代码实例
Sep 28 #Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 #Javascript
layui时间控件选择时间范围的实现方法
Sep 28 #Javascript
layui table 表格上添加日期控件的两种方法
Sep 28 #Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 #Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 #Javascript
You might like
PHP 类型转换函数intval
2009/06/20 PHP
php strcmp使用说明
2010/04/22 PHP
php购物车实现代码
2011/10/10 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
table行随鼠标移动变色示例
2014/05/07 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
学生处主任岗位职责
2013/12/01 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
生物制药自我鉴定
2014/01/25 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
捐款倡议书
2014/04/14 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
就业意向协议书
2015/01/29 职场文书
违纪开除通知书
2015/04/25 职场文书
升学宴来宾致辞
2015/07/27 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript