JS点击图片弹出文件选择框并覆盖原图功能的实现代码


Posted in Javascript onAugust 25, 2017

简单说下原理,把显示的图片的<img>标签 和上传文件的 <input> 标签放在同一个div下,设置<img>的大小和<input>的大小一样,<input> 设置透明度为0,用定位和设置优先级把input浮动在<img>上方,这样点击图片就能选择上传图片,选择完图片后获取图片地址,替换掉原来的默认图片就能实现覆盖原图功能。

js代码:

<script type="text/javascript" src="jquery1.8.3.min.js"></script> 
<script type="text/javascript"> 
 $(function() {   
  //建立一??可存取到?file的url 
  function getObjectURL(file) { 
   var url = null; 
   if (window.createObjectURL != undefined) { // basic 
    url = window.createObjectURL(file); 
   } else if (window.URL != undefined) { // mozilla(firefox) 
    url = window.URL.createObjectURL(file); 
   } else if (window.webkitURL != undefined) { // webkit or chrome 
    url = window.webkitURL.createObjectURL(file); 
   } 
   return url; 
  } 
  //获取点击的图片元素 
  var cdimg = $('.fileImgs1').children('img'); 
  //获取上传图片的 input 标签元素 
  var cdfile = $('.fileImgs1').children('input[type="file"]'); 
  //设置input 大小和图片一致 
  cdfile.css({'width':cdimg.css('width'),'height':cdimg.css('height')}); 
  //input透明度为0,定位,优先级比图片高 
  cdfile.css({'opacity':0,'position':'absolute','z-index':10}); 
  //判断input的图片文件改变则img的图片也替换为input选择的图片 
  cdfile.change(function() { 
    if (this.files && this.files[0]) { 
      var objUrl = getObjectURL(this.files[0]); 
      if (objUrl) { 
        $(this).siblings('img').attr("src", objUrl); 
      } 
    } 
  }); 
 }) 
</script>

HTML调用代码:

<body> 
<span style="white-space:pre"> </span><div class='fileImgs1'> 
    <input type="file" name='img4'> 
    <img src="getu1.png" style='width:145px;height:125px' alt=""> 
  </div> 
</body>

总结

以上所述是小编给大家介绍的JS点击图片弹出文件选择框并覆盖原图功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
Jun 09 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
微信小程序 canvas API详解及实例代码
Oct 08 Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
JavaScript数据类型的存储方法详解
Aug 25 #Javascript
使用JQ完成表格隔行换色的简单实例
Aug 25 #Javascript
Vue.js实现网格列表布局转换方法
Aug 25 #Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 #Javascript
Angular2 组件交互实例详解
Aug 24 #Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 #jQuery
探究react-native 源码的图片缓存问题
Aug 24 #Javascript
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
python+pyqt实现12306图片验证效果
2017/10/25 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
django认证系统 Authentication使用详解
2019/07/22 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
python绘制雪景图
2019/12/16 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
热门专业求职信
2014/05/24 职场文书
服务行业演讲稿
2014/09/02 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
Mysql 设置boolean类型的操作
2021/06/04 MySQL
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python