ネイティブJSで実装されたギャラリー機能

ネイティブJSで実装されたギャラリー機能

Native Js はギャラリー機能を実装します。画像をクリックすると、対応する拡大画像が下に表示されます。 onclick イベントを a タグにバインドします。上の小さい画像と下の大きい画像は同じ画像ですが、2 つの画像のスタイルで幅と高さが異なって設定されています。 (幅と高さを設定しない場合は、aタグのsrcに大きい画像として画像を保存し、imgに小さい画像を表示するという方法もあります。)CSSと組み合わせたJsクリックイベントを使用して、大きい画像の表示/非表示や画像の切り替えを行います。

詳細は以下のとおりで、コードは添付されています

最初

<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル>
        *{
            マージン: 0;
            パディング: 0;
        }
        画像{
            幅: 200ピクセル;
            高さ: 100px;

        }
        #表示画像{
            幅: 500ピクセル;
            高さ: 240px;
          /* 背景色: ピンク;*/
        }
        。隠れる{
            表示: なし;
        }
        。見せる{
            表示: ブロック;
        }
    </スタイル>
</head>
<本文>
    <div id = "画像ギャラリー">
        <a href="../../imgs/1.jpg" rel="外部nofollow" title="pic1">
            <img src="../../imgs/1.jpg" alt="1">
        </a>

        <a href="../../imgs/2.jpg" rel="外部nofollow" title="pic2">
            <img src="../../imgs/2.jpg" alt="2">
        </a>

        <a href="../../imgs/3.jpg" rel="外部nofollow" title="pic3">
            <img src="../../imgs/3.jpg" alt="3">
        </a>

        <a href="../../imgs/4.jpg" rel="外部nofollow" title="pic4">
            <img src="../../imgs/4.jpg" alt="4">
        </a>
    </div>

    <!-- フローティングをクリア -->
    <div style="clear: both"></div>
    
    <!-- 空白の画像を使用して位置を占める -->
    <!-- <img id="画像" src="" alt="" width="450px"> -->

    
    <img id="showimg" src="" class="hide" alt="">

    <p id="desc"></p>


    
    <スクリプト>
        var imagegallery = document.getElementById("imagegallery");
        var link = document.getElementsByTagName("a");
        var showimg = document.getElementById("showimg");
        var desc = document.getElementById("desc");



        // for ループ内に追加されたバインドされたイベントは、トリガーされると、バッチ追加されたすべてのイベントが成功し、ループ終了後にイベントがトリガーされます。 // バッチバインドイベントのイベント関数内に変数 i がある場合、関数はループ終了後に実行されることに注意してください。 // ループ内で定義された変数はグローバル変数です。ループ後に実行された変数 i の値は、i がループから抜け出したときの値です。 image.src = links[i].href;
        
       // for(var i = 0;i < link.length;i++){
        // link[i].onclick = function(){
        // // アラート("123");
        // // 画像内のsrc属性値を変更します // showimg.src = link[i].href;
        // // desc のテキスト説明を変更します // false を返します; // ラベル a のデフォルトのジャンプをキャンセルします // }
        // }
       
        
        for(var i = 0;i < link.length;i++){
            link[i].onclick = 関数(){
                // アラート("123");
                // 画像内の src 属性値を変更します。showimg.src = this.href;//this.keyword は、イベントをトリガーする実際のイベント ソースを参照します//img を変更します。displayshowimg.className = "show";
                // desc 内のテキスト説明を変更します。desc.innerText = this.title;
                return false; //ラベルaのデフォルトのジャンプをキャンセルします}
        }


      

        
    </スクリプト>
</本文>
</html> 

2番目

<!DOCTYPE html>
<html>
<ヘッド>
	<メタ文字セット="utf-8">
	<title>シンプルなライトボックス ギャラリー デザイン</title>
	<スタイル>
	*{
		マージン: 0;
	}
		#合計{
			幅:100%;
			背景色: 緑;
			高さ:1000ピクセル;
		}
        #fpic{
        	左マージン: 15%;
        }
		.pic{
			マージン: 50px;
			幅: 100ピクセル;
			高さ: 100px;
		}
		#大きく表示する{
			マージン: 自動;
			幅: 600ピクセル;
			高さ: 450px;
			背景色: 赤;
		}
	</スタイル>
</head>
<本文>
<div id="total">
<h3 style="color: white;text-align:center;">シンプルなギャラリーデザイン</h3>	
<hr color="red">
<img class="pic" id="fpic"src="trees/t1.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<img class="pic" src="trees/t2.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<img class="pic" src="trees/t3.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<img class="pic" src="trees/t4.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<img class="pic" src="trees/t5.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<img class="pic" src="trees/t6.jpg" onclick="myfunction(これ)" tabIndex=1 onblur="myfunction1(これ)">
<div id="show-bigger"><img id="spic" src="trees/t1.jpg" style="幅: 100%;高さ: 100%"></div>
</div>
</本文>
<script type="text/javascript">
	function myfunction(x){ //表示ボックス内の画像と選択した画像の境界線を変更します。 document.getElementById("spic").src=x.src;
		x.style.borderBottom="5px 赤一色";
	}
	function myfunction1(x){ //選択されていない境界属性を削除します x.style.border="none";        
	}
</スクリプト>
</html>

以上がネイティブJsで実装したギャラリー機能の詳細です。Jsで実装したギャラリー機能の詳細については、123WORDPRESS.COMの他の関連記事にも注目してください!

以下もご興味があるかもしれません:
  • 純粋な JS 開発 baguetteBox.js レスポンシブ ギャラリー プラグイン
  • JS+CSS3で超クールなハッシュギャラリー効果を実現
  • モバイルデバイスギャラリーをサポートするJavaScript実装

<<:  Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

>>:  mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

推薦する

MySQLで論理SQLを置き換える際の落とし穴を回避する方法の詳細な説明

重複キーの置換と挿入の違い置換の使用法競合がない場合、挿入と同等となり、他の列のデフォルト値が使用さ...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

データベース管理に役立つ 5 つの MySQL GUI ツール

MySQL には多くのデータベース管理ツールがあります。作業効率の向上に役立つ優れた GUI ツール...

リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明

シナリオ要件1. zabbix_server Web インターフェースのスクリプト機能を使用すると、...

docker --privileged=true パラメータの役割についての簡単な説明

バージョン 0.6 あたりで、Docker に privileged が導入されました。このパラメー...

1 つの記事で Vue ミドルウェア パイプラインを学ぶ

SPA を構築する場合、多くの場合、特定のルートを保護する必要があります。たとえば、認証されたユーザ...

Docker を使用して Microsoft Sql Server を展開するための詳細な手順

目次1 背景2 コンテナを作成する3 SAパスワードを変更する4 mssql のリンク5. コンテナ...

HTML ウェブページのメタビューポート属性の説明

HTML メタビューポート属性の説明ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウ...

MySQL query_cache_type パラメータと使用方法の詳細

MySQL クエリ キャッシュを設定する目的は次のとおりです。クエリ結果をキャッシュしておくと、次回...

Linux /etc/network/interfaces 設定インターフェース方法

Linux の /etc/network/interfaces ファイルは、ネットワーク インターフ...

jQueryはマウスドラッグ画像機能を実装します

この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。まず、ラッパーを設定...

時間範囲効果を実現するためのJavaScript

この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

winx64 での mysql5.7.19 の基本的なインストール プロセス (詳細)

1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....