我想选择多个图像,并给这些图像一个按钮,以便用户可以删除图像以及。我可以做图像的预览,但我不能删除图像后预览。
这是我的javascript代码
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
这是我的HTML代码,其中id=list是图像显示为缩略图的区域:
<div class="file-upload">
<div class="file-select">
<div class="file-select-button" id="fileName">Choose Image</div>
<div class="file-select-name" id="noFile"></div>
<input type="file" id="files" name="files[]" multiple />
</div>
</div>
</div>
<div class="col-lg-12 col-md-12 col-xs-12 xol-sm-12">
<output id="list"></output>
</div>
如何插入删除选项与每一个图像?
我的Js代码:
$(document).ready(function() {
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<div class="col-lg-3 col-md-3 col-xs-3 xol-sm-3" id="butt"><div class="container1"><img class="thumb img-responsive" src="', e.target.result,'" title="', escape(theFile.name), '" /><div class="overlay"><div class="text"><i class="fa fa-trash-o" aria-hidden="true" style="font-size:40px;color:#fff;"></i></div></div></div></div>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
$('#list').on('click', '#butt',function () {
$(this).parent('span').remove();
//this is not working...
var i = array.indexOf($(this));
if(i != -1) {
array.splice(i, 1);
}
// tried this too:
//$(this).parent('span').splice( 1, 1 );
count--;
});
});
我的Html代码:
<div class="row bgcolor">
<div class="col-lg-6 col-md-16 col-xs-12 xol-sm-12">
<div class="file-upload">
<div class="file-select">
<div class="file-select-button" id="fileName">Choose Images
</div>
<input type="file" id="files" name="files[]" multiple />
</div>
</div>
</div>
<div class="col-lg-12 col-md-12 col-xs-12 xol-sm-12">
<output id="list">
</output>
</div>
</div>
我的css代码:
.container1 {
position: relative;
width: 92%;
}
.image {
display: block;
width: 100%;
height: auto;
}
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: -14px;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: #000;
}
.overlay1 {
position: absolute;
top: 0;
bottom: 0;
left: -14px;
right: 0;
height: 100%;
width: 100%;
opacity: 3;
transition: .5s ease;
/* background-color: #000;*/
}
.container1:hover .overlay1 {
opacity: 0.2;
}
.container1:hover .overlay {
opacity: 0.2;
}
.text {
color: white;
font-size: 20px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
text-align: center;
}
这是正确答案!!!
谢谢你的帮助
检查此https://jsfiddle.net/dp722j27/10/
您可以使用如下所示的delete方法
function deleteImage() {
var index = Array.from(document.getElementById('list').children).indexOf(event.target.parentNode)
document.querySelector("#list").removeChild( document.querySelectorAll('#list span')[index]);
totalFiles.splice(index, 1);
console.log(totalFiles)
}
和您的呈现方法类似
var span = document.createElement('span');
span.innerHTML = ['<img width=100 class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>', "<button onclick='deleteImage()'>delete</button>"].join('');
document.getElementById('list').insertBefore(span, null);
您可以将这些值存储在数组中,并像这样处理它
问题内容: 我希望能够在上传文件之前预览文件(图像)。预览操作应在浏览器中全部执行,而无需使用Ajax上载图像。 我怎样才能做到这一点? 问题答案: 请看下面的示例代码:
为什么我上传新图片时不能删除我的旧图片? 这是我用来存储数据和图像的控制器。我的文件图像名由nama_post_adps和$imageName组合存储,其中$imageName是对
可以在 Adobe Bridge 的“预览”面板中,以全屏预览和审阅模式预览图像。“预览”面板会显示多达九张缩览图图像供您快速比较。全屏预览会以全屏方式显示图像。审阅模式以全屏视图显示图像,允许您在图像中导航,优化选择,标记、旋转图像和给图像评级,以及在 Camera Raw 中打开图像。 以幻灯片放映的方式查看图像 使用“幻灯片放映”命令可以全屏幕幻灯片放映的方式查看缩览图。在处理一个文件夹中所
本文向大家介绍Nodejs实现图片上传、压缩预览、定时删除功能,包括了Nodejs实现图片上传、压缩预览、定时删除功能的使用技巧和注意事项,需要的朋友参考一下 前言 我们程序员日常都会用到图片压缩,面对这么常用的功能,肯定要尝试实现一番。 第一步,node基本配置 这里我们用到的是koa框架,它可是继express框架之后又一个更富有表现力、更健壮的web框架。 1、引入基本配置 2、使用基本配置
嘿,伙计们,我需要帮助删除这个按钮并从json文件中加载数据,而不需要点击这个按钮。下面是代码 //从json文件获取内容 @重写小部件构建(BuildContext上下文){Future readJson()异步{final String response=await rootBundle.loadString('assets/aaaa.json');final data=await json.
问题内容: 我要预览表单中的图像或照片,但是它不起作用,并且HTML代码如下所示: 并在下面合并了JS代码/脚本: 我的表单上有两个主要问题: 1.为什么图像或图片的预览不起作用? 2.当单击保存按钮时,如何从表单粘贴照片,它将链接到我创建的另一个PHP或PHP页面? 问题答案: 试试这个:(用于预览) 在这里工作演示>