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(二)事件机制(2)
Dec 06 Javascript
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
js 处理数组重复元素示例代码
Dec 27 Javascript
自己封装的javascript事件队列函数版
Jun 12 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
JS实现为表格动态添加标题的方法
Mar 31 Javascript
使用Ajax与服务器(JSON)通信实例
Nov 04 Javascript
angularJS之$http:与服务器交互示例
Mar 17 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
php 数据结构之链表队列
2017/10/17 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
Python标准库之sqlite3使用实例
2014/11/25 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
python re模块findall()函数实例解析
2018/01/19 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
董事长职责范文
2013/11/08 职场文书
英语专业毕业生自我鉴定
2013/11/09 职场文书
机关单位动员会主持词
2014/03/20 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
SQL语句多表联合查询的方法示例
2022/04/18 MySQL