アップロードした画像がウィンドウに表示され、Open Popupボタンをクリックするとポップアップ内で同じ画像が表示るコード
Image Upload and Popup
サンプルコード
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Upload and Popup</title>
<style>
/* ポップアップのスタイル */
.popup {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
justify-content: center;
align-items: center;
}
.popup-content {
background-color: #fff;
padding: 20px;
border-radius: 5px;
text-align: center;
position: relative;
}
.popup img {
max-width: 100%;
height: auto;
}
.close-button {
position: absolute;
top: 10px;
right: 10px;
background-color: #ccc;
color: #fff;
border: none;
padding: 5px 10px;
cursor: pointer;
border-radius: 5px;
}
</style>
</head>
<body>
<!-- 画像をアップロードするフォーム -->
<input type="file" id="imageInput" accept="image/*">
<!-- カラーピッカーボタン -->
<button id="colorPickerButton" onclick="showPopup()">Open Popup</button>
<!-- 画像を表示するウィンドウ -->
<div id="imageWindow">
<img id="uploadedImage" src="" alt="Uploaded Image">
</div>
<!-- ポップアップコンテンツ -->
<div class="popup" id="imagePopup">
<div class="popup-content">
<span class="close-button" onclick="closePopup()">✖</span>
<img id="popupImage" src="" alt="Selected Image">
</div>
</div>
<script>
// 画像をアップロードしたときの処理
const imageInput = document.getElementById('imageInput');
const uploadedImage = document.getElementById('uploadedImage');
const imagePopup = document.getElementById('imagePopup');
const popupImage = document.getElementById('popupImage');
imageInput.addEventListener('change', (event) => {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function (e) {
// アップロードされた画像をウィンドウに表示
uploadedImage.src = e.target.result;
// アップロードした画像をポップアップにコピー
popupImage.src = e.target.result;
};
reader.readAsDataURL(file);
}
});
// ポップアップを表示する処理
function showPopup() {
imagePopup.style.display = 'block';
}
// ポップアップを閉じる処理
function closePopup() {
imagePopup.style.display = 'none';
}
</script>
</body>
</html>