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 跳转代码集合
Dec 03 Javascript
javascript textarea光标定位方法(兼容IE和FF)
Mar 12 Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
May 13 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
Feb 21 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
Vuex利用state保存新闻数据实例
Jun 28 Javascript
原生js实现仿window10系统日历效果的实例
Oct 31 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
解决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
ThinkPHP中Session用法详解
2014/11/29 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
JavaScript多线程详解
2015/08/12 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
node使用request请求的方法
2019/12/20 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
在Django的视图中使用form对象的方法
2015/07/18 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
python实现四人制扑克牌游戏
2020/04/22 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
python爬虫---requests库的用法详解
2020/09/28 Python
python实现猜拳游戏项目
2020/11/30 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
促销活动总结报告
2014/04/26 职场文书
小学清明节活动总结
2014/07/04 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
争先创优个人总结
2015/03/04 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技