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 のパスワードクリアテキスト表示とクイッククリア機能を無効にする方法

推薦する

Nginx で Angular プロジェクトを展開する際の落とし穴

コンパイル後にAngularプロジェクトをNginxにデプロイする方法をオンラインで検索すると、ほと...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

Linux で特定のユーザーにフォルダーのすべてのコンテンツを許可するにはどうすればよいですか?

【問題分析】 chown コマンドを使用できます。ここで ch は change (変更) を表し...

JavaScript ESの新機能letとconstキーワードに基づく

目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...

VMware15 仮想マシン ブリッジ モードでインターネットにアクセスできない問題の解決方法

説明 ソリューションVMware 15 仮想マシン ブリッジ モードではインターネットにアクセスでき...

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

MySQLの日付加算と減算関数の詳細な説明

1. 追加時間()指定した秒数を日付に追加する select addtime(now(),1); -...

MySQL ジョイントテーブルクエリの簡単な例

MySql は結合テーブルクエリを使用しますが、初心者には理解しにくい場合があります。以下の記事では...

3つの簡単な調整でMySQLを最適化する

私は熟練した DBA になるつもりはありませんが、MySQL を最適化するときは、いくつかの構成を調...

JavaScript でローカル変数をグローバル変数に変換する方法

まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...

Nginx 外部ネットワーク アクセス イントラネット サイト構成操作

背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...

React Nativeがシミュレータにリンクできない件について

React Native は、現在人気のオープンソース JavaScript ライブラリ React...

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

JavaScript でのカスタム スワイパー コンポーネントの詳細な説明

目次エフェクト表示コンポーネント設定ステップ1ステップ2ステップ3コンポーネントの使用ステップ1ステ...