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 implementiert das Baidu-Suchfeld

In diesem Artikelbeispiel wird der spezifische JS...

Echarts-Tutorial zur Implementierung von Baumdiagrammen

Treemaps dienen vor allem der Visualisierung baum...

Beschreiben Sie kurz die Replikation der MySQL-Überwachungsgruppe

Originaltext: https://dev.mysql.com/doc/refman/8....

Tutorial und Praxis zu den virtuellen Speichereinstellungen unter Linux

Was ist virtueller Speicher? Zunächst werde ich e...

Analyse der HTTP-Dienstschritte auf einer virtuellen VMware-Maschine

1. Verwenden Sie xshell, um eine Verbindung mit d...

Zwei Implementierungen des Front-End-Routings von Vue-Router

Inhaltsverzeichnis Modusparameter HashHistorie Ha...

MySQL versteht kurz, wie "order by" funktioniert

Zum Sortieren ist „order by“ ein Schlüsselwort, d...

Detaillierte Erklärung der Serveroptionen von Tomcat

1. Konfiguration Die ersten beiden sind standardm...

So schreiben Sie den Einführungsinhalt der Infoseite der Website

Alle Websites, ob offiziell, E-Commerce, soziale ...

Detailliertes Installationstutorial von Docker unter CentOS

Docker ist in CE und EE unterteilt. Die CE-Versio...