Vue verwendet Better-Scroll, um ein Beispiel für eine horizontale Scroll-Methode zu erreichen

Vue verwendet Better-Scroll, um ein Beispiel für eine horizontale Scroll-Methode zu erreichen

1. Implementierungsprinzip des Scrollens

Das Scroll-Prinzip von Better-Scroll ist dasselbe wie das native Scroll-Prinzip des Browsers. Wenn die Höhe der untergeordneten Box größer als die Höhe der übergeordneten Box ist, erfolgt vertikales Scrollen. Wenn die Breite der untergeordneten Box größer als die Breite der übergeordneten Box ist, erfolgt horizontales Scrollen.

2. Besser scrollbare HTML-Struktur

Schauen wir uns zunächst die allgemeine HTML-Struktur von Better-Scroll an:

<div Klasse="Wrapper">
  <ul Klasse="Inhalt">
    <li>...</li>
    <li>...</li>
    ...
  </ul>
</div>

BetterScroll wird auf den äußeren Wrapper-Container angewendet und der Scroll-Teil ist der Inhalt. Beachten Sie, dass BetterScroll standardmäßig das Scrollen des ersten untergeordneten Elements (des Inhalts) des Containers (Wrappers) übernimmt, was bedeutet, dass andere Elemente ignoriert werden.

3. Better-Scroll in Vue verwenden

npm install better-scroll --save //npm install import BScroll from 'better-scroll' //Better-Scroll in der Komponentendatei einführen
<Vorlage>
   /* Horizontales Scrollen */
   /* Dies ist die übergeordnete Box */
<div
        Klasse="Wrapperbox"
        Stil="Mindesthöhe:100vh;
        "
        ref="Verpackung"
        v-sonst
      >
      /* Dies ist die Subbox, der Scrollbereich*/
        <div Klasse="Inhalt" ref="WrapperChild">
          <div
            v-for="(Element, Index) in aktuellerBildliste"
            :Schlüssel="Index"
            Klasse="imgItem"
          >
            <img :src="item.img" class="img" style="margin: 0 10px;" />
          </div>
        </div>
      </div>
</Vorlage>
<Skript>
 importiere BScroll von „better-scroll“;
 Standard exportieren {
  Daten() {
    zurückkehren {
      aktuelleBildliste: [
        { img: require("../../assets/image/zzb_1.png") },
        { img: require("../../assets/image/zzb_2.png") },
        { img: erfordern("../../assets/image/zzb_3.png") }
      ],
    };
  },
  montiert() {
    this.slide_x(); //Horizontales Scrollen},
  Methoden: {
     // Initialisierung_initScroll() {
      wenn (!dieses.scroll) {
        this.scroll = new BScroll(this.$refs.wrapper, { // BScroll instanziieren und zwei Parameter akzeptieren, der erste ist der DOM-Knoten der übergeordneten Box startX: 0, /// Detaillierte Konfigurationsinformationen finden Sie in der offiziellen Dokumentation von better-scroll, die hier nicht wiederholt wird click: true,
          scrollX: wahr,
          scrollY: false, // Vertikales Scrollen ignorieren eventPassthrough: "vertical",
          useTransition: false // Verhindert anormalen Rückprall, der durch schnelles Gleiten ausgelöst wird});
      } anders {
        this.scroll.refresh(); //Wenn sich die DOM-Struktur ändert, rufen Sie diese Methode zur Neuberechnung auf, um den normalen Bildlaufeffekt sicherzustellen}
    },
    // Breite berechnen_calculateWidth() {
      // Holen Sie sich das Tag mit dem Klassennamen imgItem let rampageList = this.$refs.wrapperChild.getElementsByClassName(
        "Bildelement"
      );
      //Startbreite festlegen let initWidth = 0;
      // Durchlaufe die Labels für (let i = 0; i < rampageList.length; i++) {
        const item = rampageList[i];
        // Jede Etikettenbreite hinzufügen initWidth += item.clientWidth;
      }
      // Scrollbare Breite festlegen this.$refs.wrapperChild.style.width = `${initWidth}px`;
    },
    Folie_x() {
      this.$nextTick(() => { //this.$nextTick ist eine asynchrone Funktion, um sicherzustellen, dass das DOM gerendert wurde this._initScroll(); // Initialisierung this._calculateWidth(); // Breite berechnen });
    },
    },
   

};
</Skript>

Hier ist, was der ursprüngliche Autor des Plugins sagte:

4. Punkte, an denen Probleme auftreten können:

  1. Sie müssen warten, bis das DOM-Rendering der Seite abgeschlossen ist, bevor Sie die BScroll-Instanziierung ausführen. Es wird empfohlen, sie in der gemounteten Hook-Funktion auszuführen.
  2. Die Breite der untergeordneten Box ist größer als die Breite der übergeordneten Box

endlich

Dies ist ein Artikel des Autors des Better-Scroll-Plugins. Ich finde, dass Better-Scroll wirklich leistungsstark ist!

Wenn Better-Scroll auf Vue trifft

Horizontales Scrollen mit Better-Scroll in Vue implementieren

Dies ist das Ende dieses Artikels über die Verwendung von Better-Scroll in Vue zum Erreichen von horizontalem Scrollen. Weitere relevante Inhalte zur Verwendung von Better-Scroll in Vue zum Erreichen von horizontalem Scrollen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Vue implementiert horizontales Scrollen von Text im Laufschriftstil
  • Verwenden der Better-Scroll-Komponente in Vue zum Realisieren der horizontalen Scrollfunktion
  • Vue ersetzt das Marquee-Tag, um horizontal zu scrollen, wenn der Text die Breite überschreitet
  • Das Problem und die Lösung, dass setInterval nicht gelöscht wird, wenn Nachrichten in Vue horizontal gescrollt werden
  • Vue.js+cube-ui (Scroll-Komponente) realisiert eine horizontal scrollende Navigationsleiste ähnlich dem Überschrifteneffekt
  • Vue-Beispielcode zum Erzielen des Auf- und Ab-Scrollens von Bulletintafeltext
  • Vue überwacht Scroll-Ereignisse, um eine Scroll-Überwachung zu implementieren
  • Vue.js-Praxis: Implementieren dynamischer Ankerpunkte durch Abhören von Scroll-Ereignissen
  • Beispielcode für Vue zum Erzielen eines nahtlosen Scrolleffekts von Nachrichten
  • Vue realisiert horizontalen Bildschirm-Scrolling-Ankündigungseffekt

<<:  Gründe und Lösungen für das fehlgeschlagene Einfügen von Emoji-Ausdrücken in MySQL

>>:  Zusammenfassung der allgemeinen Docker-Befehle und Tipps

Artikel empfehlen

Mysql SQL-Anweisungskommentare

Sie können MySQL-SQL-Anweisungen Kommentare hinzu...

Gründe, warum MySQL 8.0-Statistiken ungenau sind

Vorwort Unabhängig davon, ob es sich um Oracle od...

Was wir von Googles neuer Benutzeroberfläche (Bilder und Text) lernen können

Die bedeutendste Website-Änderung im Jahr 2011 bet...

Schreiben Sie eine dynamische Uhr auf einer Webseite in HTML

Verwenden Sie HTML, um eine dynamische Web-Uhr zu...

IIS7~IIS8.5 Löschen oder Ändern des Serverprotokollheaders Server

Anforderungen: Entfernen Sie HTTP-Antwortheader i...

Optimieren Sie MySQL mit 3 einfachen Tricks

Ich erwarte nicht, ein erfahrener Datenbankadmini...

IE6/7 wird ein Chaos: Problem mit der Höhe leerer Textknoten

Vorwort: Verwenden Sie die Debugleiste, um den Dok...

MAC+PyCharm+Flask+Vue.js-Build-System

Inhaltsverzeichnis Konfigurieren Sie node.js+nvm+...

So implementieren Sie den neuen Operator von JavaScript selbst

Inhaltsverzeichnis Konstruktor neuer Operator Imp...

CSS realisiert den Maskeneffekt, wenn die Maus über das Bild bewegt wird

1. Setzen Sie den HTML-Code der Maskenebene und d...

Verwendung des Linux-Watch-Befehls

1. Befehlseinführung Der Befehl „Watch“ führt den...