JavaScript多图片上传预览删除功能允许用户在网页上选择多个图片文件,并在选择后立即在页面上显示这些图片的预览。用户还可以选择删除某个预览的图片。这个功能通常用于社交媒体、电商网站等需要用户上传图片的场景。
以下是一个简单的JavaScript多图片上传预览删除功能的实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多图片上传预览删除</title>
<style>
.preview-container {
display: flex;
flex-wrap: wrap;
}
.preview-item {
margin: 10px;
position: relative;
}
.delete-btn {
position: absolute;
top: 5px;
right: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<input type="file" id="fileInput" multiple>
<div class="preview-container" id="previewContainer"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
const files = event.target.files;
const previewContainer = document.getElementById('previewContainer');
previewContainer.innerHTML = ''; // Clear previous previews
for (let i = 0; i < files.length; i++) {
const file = files[i];
if (file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = function(e) {
const img = document.createElement('img');
img.src = e.target.result;
img.style.width = '100px';
img.style.height = '100px';
const deleteBtn = document.createElement('span');
deleteBtn.className = 'delete-btn';
deleteBtn.textContent = 'X';
deleteBtn.onclick = function() {
previewContainer.removeChild(img.parentElement);
};
const previewItem = document.createElement('div');
previewItem.className = 'preview-item';
previewItem.appendChild(img);
previewItem.appendChild(deleteBtn);
previewContainer.appendChild(previewItem);
};
reader.readAsDataURL(file);
}
}
});
</script>
</body>
</html>
FileReader
API。通过以上方法,可以有效实现并优化多图片上传预览删除功能,提升用户体验和应用性能。
领取专属 10元无门槛券
手把手带您无忧上云