input type="flie" 图片上传 预览
来源:互联网 发布:淘宝卖家设置评论有礼 编辑:程序博客网 时间:2024/06/13 23:17
隐藏input控件透明度opacity=0的办法,
图片的预览实现原理使用了javascript里的createObjectURL方法。
css部分:
<style type="text/css"> * { margin: 0; padding: 0; list-style: none; } body { position: relative; } span { display: inline-block; width : 90px; height: 35px; line-height: 35px; border: 1px solid #ccc; border-radius: 5px; text-align: center; } input[type="file"] { width: 100px; height: 40px; position: absolute; top: 0; left: 0; z-index: 100; opacity: 0; } div { width: 200px; height: 100px; overflow: hidden; } div img { width: 100%; height: 100%; }</style>HTML部分
<span>选择文件</span> <input type="file" onchange="handleFiles(this.files,this.nextElementSibling)" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg"> <div></div>JavaScript部分
<script> function handleFiles(file,obj) { //获取当前点击的元素的所有同级元素的html内容 var con = obj.innerHTML; //判断当前点击元素内是否已经存在img图片元素,如果有则先全部清除后再添加,如果没有就直接添加 if (con.indexOf("img") > 0) { //获取obj中的img var pic = obj.getElementsByTagName("img")[0]; //移除该图片 obj.removeChild(pic); //调用添加img图片的函数 creatImg(); } else { creatImg(); } function creatImg() { //创建一个img元素 var img = document.createElement("img"); //设置img元素的源文件路径,window.URL.createObjectURL() 方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里 img.src = window.URL.createObjectURL(file[0]); //window.URL.revokeObjectURL() 释放一个通过URL.createObjectURL()创建的对象URL,在图片被显示出来后,我们就不再需要再次使用这个URL了,因此必须要在加载后释放它 img.onload = function() { window.URL.revokeObjectURL(this.src); } //在当前点击的input元素的div中添加刚刚创建的img图片元素 obj.appendChild(img); } }</script>
阅读全文
0 0
- input type="flie" 图片上传 预览
- [js实例] input type=file 上传图片预览 createObjectURL
- <input type="file"/>实现图片预览
- input 上传图片预览
- 关于 input【type=file】文件上传控件实现自定义文字及实时图片预览
- input上传图片+预览图片
- input type=file 实现上传、预览、删除等功能
- input type=file 实现上传、预览、删除等功能
- input[type='file'] img图片上传
- input 上传图片预览实现
- input file上传图片预览
- input上传图片并预览
- input file 上传图片预览
- input file上传图片预览
- 预览input上传的图片
- input上传图片并预览
- JS input file图片上传预览效果
- html 实时显示input type=file 上传的图片
- 在node.js 中使用async await
- Mac 终端下删除一个工程项目中的所有.svn文件
- Eclipse解决Cannot change version of project facet Dynamic Web Module to 3.0.
- Liunx多线程pthread初探
- 机器学习---之逻辑回归中损失函数的由来
- input type="flie" 图片上传 预览
- Qt Creator使用
- git 笔记
- loj117 有源汇有上下界最小流(如题)
- Git 分支
- linux学习第三十九篇:Apache用户认证,域名跳转,Apache访问日志
- 键盘事件keypress 和 keydown、keyup 的用法与区别
- 光荣之路:产品测试规范(十一)
- 从零开始python案例008分解质因数