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

js+css zur Realisierung eines dreistufigen Navigationsmenüs

In diesem Artikelbeispiel wird der spezifische Co...

Details zur React Routing Link-Konfiguration

1. Link zum Attribut (1) Platzieren Sie den Routi...

Reduzieren Sie die Speicher- und CPU-Auslastung durch die Optimierung von Webseiten

Manche Webseiten erscheinen möglicherweise nicht g...

Designtheorie: Zu den Themen Schema, Ressourcen und Kommunikation

<br />In vielen kleinen Unternehmen besteht ...

Einführung in die Vue3 Composition API

Inhaltsverzeichnis Überblick Beispiel Warum wird ...

Sie müssen wahrscheinlich keine Switch-Anweisungen in JavaScript verwenden

Inhaltsverzeichnis Kein Schalter, keine komplexen...

So migrieren Sie MySQL-Daten richtig nach Oracle

In der MySQL-Datenbank gibt es eine Tabelle Stude...

Zusammenfassung der Unterschiede zwischen SQL und NoSQL

Hauptunterschiede: 1. Typ SQL-Datenbanken werden ...

Installation, Aktivierung und Konfiguration von ModSecurity unter Apache

ModSecurity ist ein leistungsstarkes Paketfiltert...

Einfaches Docker Swarm-Tutorial

Schwarm drei virtuelle Maschinen 132,133,134 1. I...

Beispielanalyse der Listen-Direktive in Nginx

Handlungsüberblick Im vorherigen Artikel haben wi...

Lösungen für Probleme bei der Verwendung von addRoutes in Vue-Projekten

Inhaltsverzeichnis Vorwort 1. 404 Seite 1. Ursach...