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

Eine kurze Diskussion über die Typen von node.js-Middleware

Inhaltsverzeichnis Überblick 1. Middleware auf An...

Drei Möglichkeiten zum Teilen der Komponentenlogik in React

Ohne weitere Umschweife sind dies diese drei Meth...

Installations-Tutorial zur MySQL 5.7.17 Zip-Paketversion unter Win10

Das Installationstutorial für mysql5.7.17 wird Ih...

Womit kann ich dich, meinen Tisch, retten (Haiyu-Blog)

Tabellen spielten einst eine sehr wichtige Rolle ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17

In diesem Artikel wird die Installations- und Kon...

Upgrade der Docker-Version von MySQL 5.7 auf MySQL 8.0.13, Datenmigration

Inhaltsverzeichnis 1. Sichern Sie die alten MySQL...

So ändern Sie das MySQL-Passwort auf dem XAMPP-Server (mit Bildern)

Heute habe ich bei der Arbeit an PHP herausgefund...

Ubuntu öffnet Port 22

Szenario Sie müssen das Xshell-Tool verwenden, um...

Lösung zum Importieren weiterer Daten aus MySQL in Hive

Ursprünglicher abgeleiteter Befehl: bin/sqoop imp...

JavaScript implementiert eine Seiten-Scrolling-Animation

Inhaltsverzeichnis Erstellen eines Layouts CSS-St...