Vue.jsは9グリッド画像表示モジュールを実装します

Vue.jsは9グリッド画像表示モジュールを実装します

Vue.js を使用して、クリックしてズームできる 9 グリッドの画像表示モジュールを作成しました。

モジュールの実際の効果

9グリッドサムネイル効果

ズームイン後

コード

html

<テンプレート>
<div class="SongList">
//v-for ループを使用してサムネイルをレンダリングします <div class="covers" :style="{display:MinDisplay}">
         <div class="cover" v-for="(img,index) in imgs" :key='img'><img :src="img.src" width="90%" class="min" @click="ZoomIn(index)" alt=""></div>
       </div>
 // 拡大した画像をレンダリングします <div class="max" :style="{display:display}">
            <div @click="ZoomOut" v-for="(img,index) in imgs" :key='img' :class="[index===ShowIndex?'active':'None']" ><img :src="img.src" width="100%"></div>
            //拡大画像の下のナビゲーションマップ <div class="small">
                <div :class="[{'smallActive':index===ShowIndex},'cover-small']" v-for="(img,index) in imgs" :key='img' @click="select(index)" ><img :src="img.src" width="90%"></div>
            </div>
        </div>
    </div>
</テンプレート>

CS

<スタイルスコープ>
    .SongList{
        幅: 40%;
    }
    .カバー{
        ディスプレイ: フレックス;
        コンテンツの両端揃え: スペースの間;
        flex-wrap: ラップ;
    }
    。カバー{
        ディスプレイ: フレックス;
        コンテンツの中央揃え: 中央;
        幅: 33%;
        マージン: 10px 0;
    }
    .分{
        境界線の半径: 10px;
        カーソル: ズームイン;
    }
    .max{
        カーソル: ズームアウト;
        幅: 100%;

    }
    。小さい{
        ディスプレイ: フレックス;
        コンテンツの両端揃え: スペースの間;
        flex-wrap: ラップ;
    }
    .カバー-small{
        ディスプレイ: フレックス;
        コンテンツの中央揃え: 中央;
        幅: 10%;
        マージン: 10px 0;
        不透明度: 0.6;
        カーソル: ポインタ;
    }
    .cover-small:hover{
        不透明度: 1;
    }
    。アクティブ{
        ディスプレイ: フレックス;
    }
    。なし{
        表示: なし;
    }
    .smallActive{
        不透明度: 1;
    }

</スタイル>

ジャバスクリプト

<スクリプト>
    エクスポートデフォルト{
        名前: "SongList",
        データ:関数() {
            戻る {
                表示インデックス:0,
                表示: 'なし'、
                最小表示: 'flex'、
                // Vue テンプレートで v-for ループを使用して画像をレンダリングする場合、画像ファイルのローカルの場所を直接使用することはできません。imgs:[
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                    {"src":require('***.jpg')},
                ]

            };
        },
        方法:{
            ズームイン(i){
               this.display='ブロック';
                this.MinDisplay='なし';
                this.ShowIndex=i;
            },
            ズームアウト(){
                this.display='なし';
                this.MinDisplay='flex';
            },
            選択(i){
                this.ShowIndex=i;


            }
        }
    }

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueコンポーネント、モバイル端末の9マスグリッドターンテーブル抽選を実現
  • VUEに基づく九公閣抽選機能
  • jQuery+vue.js で実装された 9 マスパズル ゲームの完全な例 [ソース コードのダウンロード付き]

<<:  HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

>>:  Linux システムの仮想ホストで Swoole Loader 拡張機能を有効にする方法

推薦する

Vueにおける仮想DOMの理解のまとめ

これは本質的に、ビュー インターフェース構造を記述するために使用される共通の js オブジェクトです...

DD DT DLタグの使用例

通常は <ul><li> タグを使用しますが、dd タグと dt タグも便利...

他の人が私のウェブページを保存したり、サイトをコピーしたりするのを防ぐためのヒント

現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...

Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...

JavaScriptはすべての選択と選択解除の操作を実装します

この記事では、JavaScriptで全選択と全選択解除の操作を実装するための具体的なコードを参考まで...

画面なしで無線ネットワークに接続しているときに Raspberry Pi の IP アドレスを見つける方法

あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...

MySQL でストリーミングクエリを使用してデータ OOM を回避する

目次1. はじめに2. JDBCはストリーミングクエリを実装する3. パフォーマンステスト3.1. ...

JS 非同期コードユニットテストの魔法 Promise

目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...

MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法

以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Linux でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策

目次背景1) yumのkeepchche機能を有効にする: 方法1 2) yum-utils ソフト...

MySQL 外部キー制約 (FOREIGN KEY) ケースの説明

MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、主キー制約...

Apacheドメイン名設定の落とし穴の詳細な説明

私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...