本文实例为大家分享了JS可视化文件上传的具体代码,供大家参考,具体内容如下
测试-Style
<style type="text/css">
.imgbox,.imgbox1
{
position: relative;
width: 200px;
height: 180px;
border: 1px solid #ddd;
overflow: hidden;
}
.imgnum{
left: 0px;
top: 0px;
margin: 0px;
padding: 0px;
}
.imgnum input,.imgnum1 input {
position: absolute;
width: 200px;
height: 180px;
opacity: 0;
}
.imgnum img,.imgnum1 img {
width: 100%;
height: 100%;
}
.close,
.close1 {
color: red;
position: absolute;
right: 10px;
top: 0;
display: none;
}
</style>
测试--HTML
<div id="img"> <div class="imgbox"> <div class="imgnum"> <input type="file" class="filepath" /> <span class="close">X</span> <img src="btn.png" class="img1" /> <img src="" class="img2" /> </div> </div> </div>
JS: 需要引入jquery
< type="text/ ">
$(function() {
$(".filepath").on("change",function() {
var srcs = get URL(this.files[0]); //获取路径
$(this).nextAll(".img1").hide(); //this指的是input
$(this).nextAll(".img2").show(); //fireBUg查看第二次换图片不起做用
$(this).nextAll('.close').show(); //this指的是input
$(this).nextAll(".img2").attr("src",srcs); //this指的是input
$(this).val(''); //必须制空
$(".close").on("click",function() {
$(this).hide(); //this指的是span
$(this).nextAll(".img2").hide();
$(this).nextAll(".img1").show();
})
})
})
//关键代码:get URL return url
function get URL(file) {
var url = null;
if (window.create URL != undefined) {
url = window.create URL(file)
} else if (window.URL != undefined) {
url = window.URL.create URL(file)
} else if (window.webkitURL != undefined) {
url = window.webkitURL.create URL(file)
}
return url
};
//modify img
$(function() {
$("#img").on("change",".filepath1",function() {
//alert($('.imgbox1').length);
var srcs = get URL(this.files[0]); //获取路径
alert(srcs);
//this指的是input
/* $(this).nextAll(".img22").attr("src",srcs); //this指的是input
$(this).nextAll(".img22").show(); //fireBUg查看第二次换图片不起做用*/
var htmlImg='<div class="imgbox1">'+
'<div class="imgnum1">'+
'<input type="file" class="filepath1" />'+
'<span class="close1">X</span>'+
'<img src="btn.png" class="img11" />'+
'<img src="'+srcs+"" class="img22" />'+
'</div>'+
'</div>';
$(this).parent().parent().before(htmlImg);
$(this).val(''); //必须制空
$(this).parent().parent().prev().find(".img11").hide(); //this指的是input
$(this).parent().parent().prev().find('.close1').show();
$(".close1").on("click",function() {
$(this).hide(); //this指的是span
$(this).nextAll(".img22").hide();
$(this).nextAll(".img11").show();
if($('.imgbox1').length>1){
$(this).parent().parent().remove();
}
})
})
})
</ >
注:低版本IE不支持可视化
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
【客户案例】智能驾驶行业如何上云?
下一篇 :
稳坐视频云行业第一,阿里云将用边缘计算开辟新赛道
-
阿里云服务器搭建一个网站网站建设的基本步骤——部署与发布新手入门
2026-05-18栏目: 教程
-
网络基础技术实践#网络安全基础技术实践课程
2026-05-18栏目: 教程
-
阿里云服务器计算网络增强型实例sn1ne 适合中大型网站及性能要求高的公司业务使用
2026-05-18栏目: 教程
-
前端进阶|第八天 京东笔试题,引用传参赋值无效?
2026-05-18栏目: 教程
-
阿里云弹性伸缩ESS必知必会
2026-05-18栏目: 教程
