JS点击图片弹出文件选择框并覆盖原图功能的实现代码
作者:小城依旧 发布时间:2024-02-26 07:17:33
标签:js,弹出框
简单说下原理,把显示的图片的<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点击图片弹出文件选择框并覆盖原图功能的实现代码网站的支持!
来源:http://blog.csdn.net/u014558009/article/details/77541184
0
投稿
猜你喜欢
- 引言周末我和小明又开始了疯狂的考证学习,昨晚通过合法的手段获取了一套学习资料,却遇到了一个问题:一套完整的资料,被机构拆分成了162个wor
- 前言猪年除夕之夜在亲人群抢红包心血来潮,想用python做比较好玩的新年祝福给亲人们乐呵乐呵。奈何初学Python,底子比较薄,通过查阅相关
- 因为m1芯片是arm版本的架构,以前在mac上的很多软件都是基于Intel架构的软件,apple开发了rossta2,可以在m1上运行int
- 一、打包多个1、将需要打包的项目为anjuke_sd目录下的所有python文件,其中excute_main.py为主文件。2、生成主函数对
- 在大家的日常python程序的编写过程中,都会有自己解决某个问题的解决办法,或者是在程序的调试过程中,用来帮助调试的程序公式。小编通过上万行
- 在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了
- SQL Server 2000 清理日志精品教程SQL Server 2000 数据库日志太大!如何清理SQL Server 2000的日志
- 内容摘要:asp使用最多的就是ACCESS数据库和ms sql server数据库,本文列出了asp连接这两个数据库的方
- 1、安装Django在命令行模式下使用pip工具来安装Django,pip工具的安装方法见此篇pip install django2、确认是
- 为什么要使用Enum.(Why?)在普通类别中,枚举和我们在对象中定义的类变量一样的,每一个类变量就是一个枚举项,访问方式如下:class
- 1.介绍 现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!比如建立服务器群
- 一、问题的发现与提出在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1:代码段
- 一、1、图形显示图素法像素法图素法---矢量图:以图形对象为基本元素组成的图形,如矩形、 圆形像素法---标量图:以像素点为基本单位形成图形
- 以下来自Stack Overflow从上面我们可以很清晰的看出应该如何使用matplotlib的figure方法。补充知识:matplotl
- 一年一度的元宵节刚刚过去,由于时间关系,在元宵节当天晚上11点多才完成本文灯笼的绘制。这两天又在忙着别的事情,所以现在才跟大家分享。一、效果
- 阅读文本前请参考此文章的数据表结构Django提供了两个非常有用的工具:F对象和Q对象,方便了在一些特殊场景下的查询过程。1.F对象查询F对
- 本文主要讲解如何使用python绘制三维的柱形图,如下图源代码如下:import numpy as npimport matplotlib.
- 我们在使用GPU资源进行训练的时候,可能会发生资源耗尽的情况,那么在在这种情况,我们需要对GPU的资源进行合理的安排,具体使用办法如下:框架
- <%MaxPerPage=8 ’定义页面最大的记录数为8<br>
- thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312