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 相关文章推荐
js setattribute批量设置css样式
Nov 26 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
js截取函数(indexOf,join等)
Sep 01 Javascript
jquery图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
js实现简单锁屏功能实例
May 27 Javascript
详解js实现线段交点的三种算法
Aug 09 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
使用JavaScriptCore实现OC和JS交互详解
Mar 28 Javascript
判断滚动条滑到底部触发事件(实例讲解)
Nov 15 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 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作的文本留言本的例子(五)
2006/10/09 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
跟老齐学Python之开始真正编程
2014/09/12 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
详解python的数字类型变量与其方法
2016/11/20 Python
Python连接数据库学习之DB-API详解
2017/02/07 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
python中的tcp示例详解
2018/12/09 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Python通过Pillow实现图片对比
2020/04/29 Python
python实现图片转字符画
2021/02/19 Python
智能旅行箱:Horizn Studios
2018/04/30 全球购物
设计师珠宝:Ylang 23
2018/05/11 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
农村面貌改造提升实施方案
2014/03/18 职场文书
一体化教学实施方案
2014/05/10 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
个人党性锻炼总结
2015/03/05 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
美容院管理规章制度
2015/08/05 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers