アップロードした画像がウィンドウに表示され、Open Popupボタンをクリックするとポップアップ内で同じ画像が表示るコード

Image Upload and Popup


Uploaded Image
 
 
 
 
 
 
 
サンプルコード
<!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()">&#10006;</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>