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

Ideen und Methoden zur inkrementellen Sicherung einer MySQL-Datenbank

Um eine inkrementelle Sicherung der MySQL-Datenba...

JS realisiert den Scroll-Effekt von Online-Ankündigungen

In diesem Artikel wird der spezifische JS-Code zu...

Zusammenfassung häufig verwendeter Leistungstestskripte für VPS-Server

Hier ist ein allgemeines Ein-Klick-Leistungstests...

Reines CSS-Dropdown-Menü

Ergebnisse erzielen Implementierungscode html <...

Konfigurationsmethode für das Nginx-Anforderungslimit

Nginx ist ein leistungsstarker, leistungsstarker ...

Schnelles Verständnis und Beispielanwendung der Vuex-Zustandsmaschine

Inhaltsverzeichnis 1. Schnelles Verständnis von K...

Deaktivieren der Implementierungseigenschaften für Eingabetextfelder

Heute möchte ich einige sehr nützliche HTML-Tags z...

Beispielanalyse der Verwendung des neuen JSON-Feldtyps in MySQL 5.7

Dieser Artikel veranschaulicht anhand eines Beisp...