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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT
>>: Linux システムの仮想ホストで Swoole Loader 拡張機能を有効にする方法
問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...
この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...
<meta http-equiv="x-ua-compatible" コン...
目次私たちが毎日実行している Linux システムとは何でしょうか? LinuxカーネルとGNUシス...
Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...
最近、たまたまこの小さな要件に遭遇しました。昔、JS を使用してこれを処理したことを覚えていますが、...
<br />質問: Word のコンテンツを Web サイトのエディターに直接コピーする...
ステップ1: システムのアーキテクチャを確認する dpkg --print-architecture...
1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...
序文従来のWEBレイアウトに沿うため、すべてヘッダーとフッターモードの左・中央・右レイアウトで書かれ...
opencv2 の簡単なインストール: conda インストール --channel https:/...
以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピーbody、di...
データシート:列から行へ: max(case when then) を使用max---集計関数は最大...
CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...
1. xshell を使用して仮想マシンに接続するか、仮想マシンに直接コマンドを入力します。以下はx...