Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Erzielung eines nahtlosen Karusselleffekts zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Erstellen Sie zunächst zwei Vue-Komponenten: Sweiper.vue und SweiperItem.vue.

2. Führen Sie zwei Komponenten in die Seite ein und verwenden Sie das V-Modell, um Parameter in Sweiper.vue zu übergeben ( das V-Modell ist eigentlich eine einfache Syntax mit Standardattributwerten und Standardereigniseingaben ).
Im Code übergebe ich den Wert über die Auswahl des v-Modells an Sweiper (untergeordnete Komponente). Bei der automatischen Drehung des Karussells überträgt die untergeordnete Komponente den anzuzeigenden Wert durch Auslösen des Eingabeereignisses an die übergeordnete Komponente zurück.

3. Der Kern besteht darin, den ausgewählten Wert an SweiperItem zu übergeben und zu bestimmen, welches Bild angezeigt werden soll, wenn es dem Namenswert in SweiperItem entspricht.

<Vorlage>
  <div>
    <Sweiper v-model="ausgewählt">
      <!--v-model ist eine Syntaxvereinfachung, die den Wert- und Eingabeereignissen entspricht-->
      <Sweiper-Artikelname="Artikel1">
        <div Klasse="Artikel">
          <img :src="getImg('01')" alt="">
        </div>
      </Sweiper-Artikel>
      <Sweiper-Artikelname="Artikel2">
        <div Klasse="Artikel">
          <img :src="getImg('02')" alt="">
        </div>
      </Sweiper-Artikel>
      <Sweiper-Artikelname="Artikel3">
        <div Klasse="Artikel">
          <img :src="getImg('03')" alt="">
        </div>
      </Sweiper-Artikel>
    </Sweiper>
  </div>
</Vorlage>
Die Bilder werden hier nicht mit v-for durch das Array geschleust, so dass man die Struktur erkennen kann<script>
  importiere Sweiper aus "../components/Sweiper.vue";
  importiere SweiperItem aus "../components/SweiperItem.vue";
  Standard exportieren {
    Name: "mySweiper",
    Komponenten:
      Schwieger,
      SweiperArtikel
    },
    Daten() {
      zurückkehren {
        ausgewählt: "item1", //Standard ist das erste Element}
    },
    Methoden:{
      getImg(url){
        gibt "img/"+url+".jpg" zurück
      },

    },
    montiert(){
      /*Intervall festlegen(()=>{
       Dies.ausgewählt="Element2"
  },3000)
  Da Mounted zu diesem Zeitpunkt nur einmal ausgeführt wird, bleibt es unverändert. Sie müssen einen Watch-Listener in Sweiper schreiben}*/Dieser Schritt ist kommentiert, da er in der Sweiper-Komponente geschrieben ist}
</Skript>
<Stil>
  .Artikel{
    /*Rand: 1px durchgehend schwarz;*/
  }
  .item>img{
    Breite: 100 %;
    /*Höhe: 0,1rem;*/
  }
</Stil>

Sweiper.vue

<Vorlage>
  <div Klasse="Sweiper">
    <Steckplatz></Steckplatz>
  </div>
</Vorlage>
<Skript>

  Standard exportieren {
    Name: "Sweiper",
    Daten() {
      zurückkehren {
        aktuell:''
      }
    },
    Requisiten:{
      Wert:{
        Typ: Zeichenfolge,
        Standard:""
      },
    },
    montiert(){
      //Suchen Sie während des automatischen Karussells nach dem Namenswert und verwenden Sie die Methode indexOf, um die folgende Tabelle des aktuellen Karussells zu durchlaufen this.names=this.$children.map(child=>{
       Kindname zurückgeben
      });
      dies.showImg();
      dies.paly()
    },
    Methoden:{
      zeigeImg(){
        dies.aktuell=dieser.Wert||dieses.$Kinder[0].Name;
        //Direkte untergeordnete Komponente der aktuellen Instanz this.$children.map(vm=>{
          vm.selected = dies.aktuell
        })
      },

      spielen(){
        //Passen Sie das Bild bei jedem Abspielen des Karussells an. this.timer=setInterval(()=>{
          //indexOf gibt das erste Vorkommen einer angegebenen Zeichenfolge zurück const index = this.names.indexOf(this.current);
          sei neuerIndex=index+1;
          //Seien Sie strenger, wenn (newIndex===this.names.length){
             neuerIndex=0;
          }
          dies.$emit("Eingabe",dies.Namen[neuerIndex])
        },3000)
      }
    },
    betrachten:{
      //Wert überwachen, Auswahl ändern, wenn er sich ändert
      Wert(){
        dies.showImg()
      }
    },
    vorZerstören() {
      //clearInterval(this.timer), bevor die Spalte zerstört wird
    }
  };
</Skript>
<Stil>
  .Sweiper{
    /*Rand: 1px durchgehend schwarz;*/
    Breite: 100 %;
    Höhe: 4rem;
    Überlauf: versteckt;
    Rand: 0 automatisch;
    Position: relativ;
  }
</Stil>

SweiperItem.vue

<Vorlage>
  <Übergang>
    <div Klasse="Sweiper-item" v-show="isShow">
      <Steckplatz></Steckplatz>
    </div>
  </Übergang>
</Vorlage>
<Skript>
  Standard exportieren {
    Name: „SweiperItem“,
    Daten(){
      zurückkehren {
        ausgewählt:""
      }
    },
    Requisiten:{
      Name:{
        Typ: Zeichenfolge,
        erforderlich: wahr
      },
    },
    montiert(){

    },
    berechnet:{
      istAnzeigen(){
        gib dies.ausgewählt===diesen.Namen zurück;
      }
    }
  };

</Skript>
<Stil>
  .v-aktiv eintreten,.v-aktiv verlassen{
    Übergang: alles 1en linear;
  }
  .v-verlassen-zu{
    transformieren: übersetzen(-100%);
  }
  .v-eingeben{
    transformieren: übersetzen (100 %);
  }
  .v-enter-active{
    Position: absolut;
    oben: 0;
    links: 0;
  }
</Stil>

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:
  • Text-Marquee-Komponente basierend auf Vue (npm-Komponentenpaket)
  • Vue implementiert einen einfachen Laufschrifteffekt
  • Vue implementiert horizontales Scrollen von Text im Laufschriftstil
  • Vue implementiert den Marquee-Effekt
  • Vue realisiert einfachen Effekt des Lauflichts
  • Vue-Beispielcode mit Timer zum Erzielen eines Laufschrifteffekts
  • Vue implementiert ein einfaches Laufschrift
  • Js und VUE, um den Laufstegeffekt zu erzielen
  • Vue implementiert einen einfachen Laufschrifteffekt
  • Detaillierte Erklärung zur Verwendung der Vue-Marquee-Komponente

<<:  Mysql gibt die Methode zur Datumsbereichsextraktion an

>>:  So starten Sie ein JAR-Paket und führen es unter Linux im Hintergrund aus

Artikel empfehlen

Zusammenfassung gängiger Toolbeispiele in MySQL (empfohlen)

Vorwort Dieser Artikel stellt hauptsächlich die r...

Zusammenfassung der Standardverwendung von HTML-, CSS- und JS-Kommentaren

Das Hinzufügen der erforderlichen Kommentare ist ...

Der Prozess der Installation und Konfiguration von Nginx in Win10

1. Einleitung Nginx ist ein kostenloser, quelloff...

Beispiel für die Verwendung der setInterval-Funktion in React

Dieser Artikel basiert auf der Windows 10-Systemu...

Beispiel für das Einfügen eines HTML-Bilds (html add image)

Zum Einfügen von Bildern in HTML sind HTML-Tags f...

Beispielanalyse für MySQL Oracle- und SQL Server-Paging-Abfragen

Ich habe vor Kurzem eine einfache Studie zur Date...

MySQL-Beispielcode für die Addition und Subtraktion von Datum und Uhrzeit

Inhaltsverzeichnis 1.MySQL addiert oder subtrahie...

So konfigurieren Sie Linux CentOS für die regelmäßige Ausführung von Skripten

Oft möchten wir, dass der Server regelmäßig ein S...

So verwenden Sie die Vue-Cache-Funktion

Inhaltsverzeichnis Cache-Funktion in vue2 Transfo...