Vue.js implementiert das Neun-Raster-Bildanzeigemodul

Vue.js implementiert das Neun-Raster-Bildanzeigemodul

Ich habe Vue.js verwendet, um ein Bildanzeigemodul mit neun Rastern zu erstellen, das zum Vergrößern anklickbar ist.

Die tatsächliche Wirkung des Moduls

Neun-Raster-Miniaturbildeffekt

Nach dem Heranzoomen

Code

HTML

<Vorlage>
<div Klasse="SongList">
//Verwenden Sie eine v-for-Schleife, um Miniaturansichten zu rendern <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>
 // Rendere das vergrößerte Bild <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>
            //Navigationskarte unter dem vergrößerten Bild <div class="small">
                <div :class="[{'smallActive':index===ShowIndex},'cover-small']" v-for="(Bild,Index) in Bildern" :key='img' @click="select(index)" ><img :src="img.src" width="90%"></div>
            </div>
        </div>
    </div>
</Vorlage>

CSS

<Stilbereich>
    .SongList{
        Breite: 40%;
    }
    .covers{
        Anzeige: Flex;
        Inhalt ausrichten: Abstand dazwischen;
        Flex-Wrap: Umwickeln;
    }
    .Abdeckung{
        Anzeige: Flex;
        Inhalt ausrichten: zentriert;
        Breite: 33%;
        Rand: 10px 0;
    }
    .min{
        Rahmenradius: 10px;
        Cursor: Vergrößern;
    }
    .max{
        Cursor: Herauszoomen;
        Breite: 100 %;

    }
    .klein{
        Anzeige: Flex;
        Inhalt ausrichten: Abstand dazwischen;
        Flex-Wrap: Umwickeln;
    }
    .cover-klein{
        Anzeige: Flex;
        Inhalt ausrichten: zentriert;
        Breite: 10%;
        Rand: 10px 0;
        Deckkraft: 0,6;
        Cursor: Zeiger;
    }
    .cover-small:hover{
        Deckkraft: 1;
    }
    .aktiv{
        Anzeige: Flex;
    }
    .Keiner{
        Anzeige: keine;
    }
    .smallActive{
        Deckkraft: 1;
    }

</Stil>

Javascript

<Skript>
    Standard exportieren {
        Name: "SongList",
        Daten:Funktion() {
            zurückkehren {
                ShowIndex:0,
                Anzeige: "keine",
                MinDisplay:'flex',
                //Wenn Sie eine v-for-Schleife zum Rendern von Bildern in einer Vue-Vorlage verwenden, können Sie den lokalen Speicherort der Bilddatei imgs nicht direkt verwenden:[
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                    {"src":erfordern('***.jpg')},
                ]

            };
        },
        Methoden:{
            ZoomIn(i){
               dies.Anzeige='Block';
                dies.MinDisplay='keine';
                dies.ShowIndex=i;
            },
            ZoomOut(){
                diese.Anzeige='keine';
                dies.MinDisplay='flex';
            },
            auswählen(i){
                dies.ShowIndex=i;


            }
        }
    }

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue-Komponente zur Realisierung einer Drehtischlotterie mit neun Quadratgittern auf mobilen Endgeräten
  • Jiugongge-Lotteriefunktion basierend auf VUE
  • Ein vollständiges Beispiel eines Neun-Quadrate-Puzzlespiels, implementiert mit jQuery+vue.js [mit Quellcode-Download]

<<:  Tutorial zur HTML-Tabellenauszeichnung (41): Breiten- und Höhenattribute der Tabellenüberschrift WIDTH, HEIGHT

>>:  So aktivieren Sie die Swoole Loader-Erweiterung auf dem virtuellen Host des Linux-Systems

Artikel empfehlen

Detaillierte Verwendung des Kubernetes-Objektvolumens

Überblick Volume ist die Abstraktion und Virtuali...

Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

Inhaltsverzeichnis Vorwort Grundlegende Einführun...

Eine kurze Analyse der vier Importmethoden und Prioritäten in CSS

Erstens: 4 Möglichkeiten, CSS einzuführen Es gibt...

Zabbix' PSK-Verschlüsselung kombiniert mit zabbix_get-Wert

Seit Zabbix Version 3.0 wird verschlüsselte Kommu...

Kontinuierliche Bereitstellung mit Jenkins und Docker unter Docker

1. Was ist Continuous Delivery Der Ausgabeprozess...

Wann sollte eine Website Anzeigen schalten?

Als ich vor kurzem mit einem Internet-Veteranen ü...

URL-Rewrite-Modul 2.1 URL-Rewrite-Modul – Regeln schreiben

Inhaltsverzeichnis Voraussetzungen Einrichten ein...

Zwei Möglichkeiten zum Erstellen von Docker-Images

Inhaltsverzeichnis Aktualisieren Sie das Bild von...

Vue+axios-Beispielcode zum Hochladen von Bildern und Erkennen von Gesichtern

Inhaltsverzeichnis Axios-Anfrage Qs-Verarbeitungs...