HTMLベースの複数画像アップロードのプレビュー機能を実装

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的だと思います。詳細には触れず、コードだけを投稿します。

 <ヘッド>
<スタイル>
.pro_img{ margin-left:10px;margin-top:10px;width:300px;height: 300px;background-color: black; --border-radius:999em; overflow:hidden;float:left; --margin:5% 35%;position: relative;}
.pro_img img{ 位置: absolute; 左: 50%; 上: 50%; 変換: translate(-50%,-50%); 幅: 100%
}
.pro_img {位置:相対}
.pro_img 入力{位置: 絶対;幅: 100%;高さ: 100%;余白: 0;不透明度: 0;z-index: 100;}
</スタイル>
<script type="text/javascript" src="jquery.min.js"></script>
<スクリプト>
名前_pic=1;
関数 t1(o){
//アラート(name_pic);
    if(o==1 || name_pic!=1){
    var file="ファイル"+o;
    var img="img"+o;
    var hid="hidden"+o;
    var aa="a"+o;
    }それ以外{
    var file="ファイル"+name_pic;
    var img="画像"+name_pic;
    var hid="hidden"+name_pic;
    var aa="a"+name_pic;
    }
    var docObj = document.getElementById(ファイル);
    var imgObjPreview = document.getElementById(img);
    var hidden = document.getElementById(hid);
    // アラート(非表示);
    docObj.files が docObj.files[0] の場合
        hidden.src=window.URL.createObjectURL(docObj.files[0]); //ファイルのパスを取得しますhidden.onload=function(){
            var width=hidden.width;
            var height=hidden.height;
            var a = document.getElementById(aa);
                幅>高さの場合{
                imgObjPreview.style.cssText='width:100%'; //CSSスタイルを書き換える}else{
                imgObjPreview.style.cssText='高さ:100%;幅:自動;';                  
                }
        imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
        imgObjPreview.style.display = 'ブロック';
        }
    }それ以外{
        false を返します。
    }
    if(o==name_pic){
        var count=$('.pro_img').length;
        カウント<6の場合{
        名前_pic++;
    var pic_div="<a class='pro_img' id='a"+name_pic+"' ><input type='file' id='file"+name_pic+"' accept='image/*' multiple='multiple' name='pic[]' onchange='t1("+name_pic+")'/><img src='upload.jpg' id='img"+name_pic+"'></a><img id='hidden"+name_pic+"' style='display:none;'>";
    $('#upload').append(pic_div); 
    }       
}
}
</スクリプト>
</head>
<!-- multiple='複数' -->
<form action="upload/2022/web/><img src='upload.jpg' id='img1'></a>
<img id='hidden1' style='display:none;'>
</div>
<input type='submit' value="アップロード" />
</フォーム>

upload.png画像を自分で置き換えることでニーズを満たすことができます。画像をクリックしても反応しない場合は、jqueryを追加することを忘れないでください。

以上が、HTML ベースの複数画像アップロードプレビュー機能についてご紹介した内容です。お役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信させていただきます。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  vue+elementui+vuex+sessionStorage を使用して履歴タグ メニューを実装するためのサンプル コード

>>:  IE10 のパスワードクリアテキスト表示とクイッククリア機能を無効にする方法

推薦する

HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...

HTML コード例: ハイパーリンクの詳細な説明

ハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間を移動できるた...

Vue ソング プログレス バーのサンプル コード

なお、これはvue-cliで作成したプロジェクトではありません。vue.jsを参照して記述したHTM...

Vue でユーザー権限に基づいてルートを動的に追加する方法

ユーザーの権限に応じて異なるメニュー ページを表示します。知識ポイントルートガード(事前ガードを使用...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

Linux crontab コマンドの使用

1. コマンドの紹介contab (cron テーブル) コマンドは、Windows のスケジュール...

この記事では、Viteがブラウザのリクエストに対して何を行うかを説明します。

目次動作原理:ブラウザは何をするのですか?ホストファイル index.htmlメイン.jsその他のベ...

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...

after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...

MySQL 基本チュートリアル パート 1 MySQL5.7.18 のインストールと接続チュートリアル

この記事から、MySQL を紹介し学習するための新しい一連の記事がスタートします。なぜ MySQL ...

HTML ul 順序なしテーブルのアプリケーションネスト

順序なしリストのアプリケーションネストコードをコピーコードは次のとおりです。 <!DOCTYP...

CSS3 は 3D キューブの読み込み効果を作成します

簡単な説明これは CSS3 のクールな 3D キューブのプリロード効果です。この特殊効果は、シンプル...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

MySQLチュートリアルではストアドプロシージャを徹底的に理解します

目次1. ストアドプロシージャに関連する概念2. ストアドプロシージャの使用1) ストアドプロシージ...