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 相关文章推荐
jquery+json 通用三级联动下拉列表
Apr 19 Javascript
js创建对象的几种常用方式小结(推荐)
Oct 24 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
Dec 25 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
Oct 12 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
Dec 02 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
webpack的pitching loader详解
Sep 23 Javascript
js实现时间日期校验
May 26 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 清除网页病毒的方法
2008/12/05 PHP
PHP仿盗链代码
2012/06/03 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
php获取linux命令结果的实例
2017/03/13 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
python 编码规范整理
2018/05/05 Python
Python 编程速成(推荐)
2019/04/15 Python
python用for循环求和的方法总结
2019/07/08 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
台湾三立电视电商平台:电电购
2019/09/09 全球购物
大学生实习自我鉴定
2013/12/11 职场文书
工作疏忽检讨书
2014/01/25 职场文书
公路绿化方案
2014/05/12 职场文书
素质教育标语
2014/06/27 职场文书
学校百日安全活动总结
2015/05/07 职场文书
公司档案管理制度
2015/08/05 职场文书
2016年清明节寄语
2015/12/04 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server