ネイティブ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 パッケージのインストールと構成のチュートリアル

推薦する

jquery+springbootでファイルアップロード機能を実現

この記事の例では、ファイルアップロード機能を実現するためのjquery+springbootの具体的...

CSS3のall属性の使い方を理解する

1. 互換性以下のように表示されます。 互換性は問題ありません。IE を除き、他のブラウザは基本的に...

Node.js のイベント モジュールに関する知識ポイントのまとめ

Node の研究と応用を通じて、NodeJS はシングルスレッド、イベント駆動型、非ブロッキング I...

MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明

序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...

Oracle と MySQL の高可用性ソリューションの比較分析

Oracle と MySQL の高可用性ソリューションについては、以前からまとめたいと思っていたので...

ubuntu16.04でNFSサービスを構築する方法

NFS の紹介NFS (ネットワーク ファイル システム) は、FreeBSD でサポートされている...

HTMLで細い線のテーブルを作成する簡単な例

この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

MySQL データベースの型変換のための CAST 関数と CONVERT 関数の説明

MySQL のCAST()およびCONVERT()関数を使用すると、ある型の値を取得し、別の型の値を...

Nginx を使用してクロスドメイン Vue 開発環境を処理する方法

1. 需要正しい Cookie 配信と SSO テストを確実に実行できるように、ローカル テスト ド...

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...

Vue ドラッグ アンド ドロップのシンプルな実装

この記事では、主に次のような Vue ドラッグ アンド ドロップの簡単な実装を紹介します。レンダリン...

vue.js ルーターのネストされたルート

序文:ルートでは、主要部分は同じでも、基礎となる構造が異なることがあります。たとえば、ホームページに...

DockerがMySQL構成実装プロセスを開始

目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...

jsはシンプルな英語-中国語辞書を実装します

この記事では、参考までに、簡単な英中辞典を実装するためのjsの具体的なコードを紹介します。具体的な内...