时间:2021-05-26
简单说下原理,把显示的图片的<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点击图片弹出文件选择框并覆盖原图功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面一段代码是基于js实现的点击某个图标或按钮弹出文件选择框的核心代码,代码比较简单,需要的朋友参考下具体代码如下所示:functionselectFile()
考虑一个常见的用户上传头像的场景:点击按钮,弹出文件选择框选中图片并确认后直接上传图片实现这个功能,需要使用来添加文件,并实现上传功能。传统的上传文件是将放到中
本文实例讲述了vue实现的上传图片到数据库并显示到页面功能。分享给大家供大家参考,具体如下:1、点击上传图片,弹出选择图片选项框。页面代码:上传图片由于我们要设
本文实例为大家分享了js鼠标点击页面弹出文字的具体代码,供大家参考,具体内容如下效果:实现代码:(function(e){//点击事件触发生生元素等一系列动作的
今天又学了一招,以前不知道,就是做过的东西太少了……目标:实现点击链接弹出文件下载对话框代码:复制代码代码如下:代码下载代码下载do