Native JS-Kapselung vue Tab-Umschalteffekt

Native JS-Kapselung vue Tab-Umschalteffekt

In diesem Artikelbeispiel wird der spezifische Code der nativen JS-Kapselung Vue Tab Switching als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

Schauen Sie sich zunächst das Effektbild an

Verwendete Technologie

vue, js, css3

Vue-Komponenten können direkt verwendet werden

<Vorlage>
  <div Klasse="bookcircle-header">
    <ul class="wrapper" :class="headerActive == 0 ? 'Freund' : 'Bücherliste'">
      <li @click="headerChange(0)" :class="headerActive == 0 ? 'aktiv' : ''">
        Buchfreunde</li>
      <li @click="headerChange(1)" :class="headerActive == 1 ? 'aktiv' : ''">
        Bücherliste</li>
    </ul>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Komponenten: {},
  Daten() {
    zurückkehren {
      HeaderAktiv: 0,
    };
  },
  berechnet: {},
  erstellt() {},
  montiert() {
    //Senden initialisieren this.$emit("change", this.headerActive);
  },
  Methoden: {
    Headeränderung(index) {
      Dies.headerActive = Index;
      dies.$emit("ändern", index);
    },
  },
};
</Skript>

<style lang="less" scoped>
.bookcircle-header {
  Höhe: 42px;
  Anzeige: Flex;
  Inhalt ausrichten: zentriert;
  Elemente ausrichten: zentrieren;
  .wrapper {
    Breite: 286px;
    Schriftgröße: 14px;
    Höhe: 29px;
    Farbe: #1489fe;
    Rand: 1px durchgezogen #1489fe;
    Rahmenradius: 14px;
    Anzeige: Flex;
    Inhalt ausrichten: zentriert;
    Elemente ausrichten: zentrieren;
    Position: relativ;
    box-sizing: border-box; // Randüberlauf beheben und Rand in die Box einschließen li {
      biegen: 1;
      Höhe: 100%;
      Anzeige: Flex;
      Inhalt ausrichten: zentriert;
      Elemente ausrichten: zentrieren;
      Z-Index: 2;
    }
    .aktiv {
      Farbe: weiß;
    }
    &::vor {
      Inhalt: "";
      Breite: 143px;
      Höhe: 100%;
      Hintergrundfarbe: #1489fe;
      Position: absolut;
      oben: 0px;
      links: 0px;
      Rahmenradius: 13px 0px 0px 13px;
      Z-Index: 1;
      Übergang: alle 0,3 s;
    }
    &.Freund::vor {
      transformieren: übersetzenX(0);
      Rahmenradius: 13px 0px 0px 13px;
    }
    &.booklist::before {
      transformieren: übersetzenX(100%);
      Rahmenradius: 0px 13px 13px 0px;
    }
  }
}
</Stil>

Umsetzungsprinzip:

Verwenden Sie ul, li und flexible Box. Legen Sie zuerst die Breite und Höhe des übergeordneten Elements fest. Verwenden Sie dann die flexible Box, um das untergeordnete Element li horizontal zu erweitern. Legen Sie flex: 1 für das untergeordnete Element li fest, damit das untergeordnete Element die Breite des übergeordneten Elements hat.

Legen Sie dann ein Pseudoelement für das übergeordnete Element fest, um das erste li-Element absolut positioniert abzudecken, und verwenden Sie das Z-Index-Attribut, um die hierarchische Anzeigebeziehung zwischen dem Pseudoelement und dem untergeordneten Element zu steuern.

Legen Sie dann das Übergangsattribut für das Pseudoelement fest und verwenden Sie das Attribut „transform: translateX();“, um das Element horizontal zu verschieben.

Notiz:

1. Obwohl das Klickereignis des Schalters auf dem untergeordneten Element liegt und der aktive Stil dem untergeordneten Element hinzugefügt wird, wird der Umschalteffekt der Registerkarte nicht durch das untergeordnete Element, sondern durch das Pseudoelement des übergeordneten Elements erreicht.
2. Sie müssen eine dynamische Klasse für das übergeordnete Element basierend auf dem Index des untergeordneten Elements festlegen, damit das Pseudoelement des übergeordneten Elements die Umschaltanimation basierend auf dem ausgewählten untergeordneten Element ausführen kann
3. Diese Komponente verwendet Taobao amfe-flexible und Postcss-Anpassung. Bitte achten Sie bei der Verwendung auf die Anpassungsprobleme.

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:
  • Detaillierte Erläuterung des Installations- und Verpackungsfalls von JavaScript Axios
  • Detaillierte Analyse von Homologie und Domänenübergreifendkeit, JSONP (Funktionskapselung), CORS-Prinzip
  • Vue.js verwaltet die Kapselung von Hintergrundtabellenkomponenten
  • Detaillierte Erläuterung der objektorientierten Praxis von JavaScript: Kapselung und Ziehen von Objekten
  • Native JS-Kapselung, nahtlose Karussellfunktion
  • js implementiert eine einfache Methode zur Kapselung von jQuery und eine detaillierte Erklärung der Kettenoperationen
  • js implementiert einige Funktionen der Eingabekomponente in Element und kapselt sie in eine Komponente (Beispielcode)
  • JavaScript implementiert ein Prototyp-Kapselungskarussell
  • Kapselungsmethode der JavaScript-Zeitlupenanimationsfunktion
  • JavaScript Canvas-Kapselung dynamische Uhr
  • Über Jacksons JSON-Tool-Klassenkapselung JsonUtils-Nutzung
  • Beispielcode für die JavaScript-Kapselung einer einfach verketteten Liste
  • Allgemeine Front-End-JavaScript-Methodenkapselung

<<:  So konfigurieren Sie MySQL auf einem Ubuntu-Server und implementieren eine Remote-Verbindung

>>:  VMware Workstation ist nicht mit Device/Credential Guard kompatibel

Artikel empfehlen

JavaScript-Closures erklärt

Inhaltsverzeichnis 1. Was ist ein Abschluss? 2. D...

So beheben Sie den MySQL-Fehler 10061

In diesem Artikel erfahren Sie die Lösung für das...

Implementierung eines Karussells mit nativem JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Drei Beispiele für Node.js-Methoden zum Abrufen von Formulardaten

Vorwort Nodejs ist eine serverseitige Sprache. Wä...

9 Möglichkeiten zum Ein- und Ausblenden von CSS-Elementen

Bei der Erstellung von Webseiten ist das Anzeigen...

Vue: Detaillierte Erklärung von Speicherlecks

Was ist ein Speicherleck? Ein Speicherleck bedeut...

So installieren Sie Composer unter Linux

1. Laden Sie das Installationsskript - composer-s...

Schritte zur Bereitstellungsmethode für Docker Stack für Webcluster

Docker wird immer ausgereifter und seine Funktion...

Detaillierte Erklärung von Cgroup, dem Kernprinzip von Docker

Das leistungsstarke Tool cgroup im Kernel kann ni...

Docker-Overlay realisiert die Container-Kommunikation zwischen Hosts

Inhaltsverzeichnis 1. Docker-Konfiguration 2. Ers...