Vue implementiert einen Scrollbar-Stil

Vue implementiert einen Scrollbar-Stil

Bildbeschreibung hier einfügen

Zuerst wollte ich den Stil der Bildlaufleiste des Browsers ändern, um den Effekt zu erzielen, aber nachdem ich die Informationen konsultiert hatte, stellte ich fest, dass die Breite und Position der Bildlaufleiste des Browsers nicht geändert werden konnten. Ich hatte keine andere Wahl, als es selbst zu schreiben. Zuerst der Stil der Bildlaufleiste

<div Klasse="scrollBar" v-if="roleList.length > 5">
        <div
          Klasse="Box"
          @mousedown="bewegen"
          v-bind:style="{ Breite: aktive Breite + 'px' }"
        ></div>
      </div>

Stil

.scrollBar {
  Breite: 500px;
  Höhe: 6px;
  Hintergrund: #d5dbf5;
  Rand: 0 automatisch;
  Rand oben: 72px;
  Rahmenradius: 4px;
  Position: relativ;

  .Kasten {
    Breite: 30px;
    Höhe: 100%;
    Hintergrund: #fff;
    Rahmenradius: 4px;
    Position: absolut;
    links: 0;
  }
  .box:hover {
    Cursor: Zeiger;
  }
}

Der Stil des Scrollbereichs wird hier nicht geschrieben

1 Erstens ist die Breite des Bildlaufleistenschiebers

montiert() {
    //Breite des Bildlaufbereichs Ich durchlaufe hier die Benutzerliste, also erhalte ich die Länge der Liste * die Breite jedes li ist die Gesamtbreite let bgWidth = this.$refs.liList.clientWidth * this.roleList.length;
    //Breite des sichtbaren Bereichs 1065 Dies ist die Breite des weißen Hintergrundfelds im obigen Bild //Schiebereglerbreite 500 ist die Breite der Bildlaufleiste. Diese Breite wird berechnet, um die Distanz zu ermitteln, über die der Schieberegler gleiten kann. Dies wird weiter unten erläutert this.activewidth = 500 * (1065 / bgWidth);
  },

2 Mausereignisse zum Slider hinzufügen

bewegen(e) {
      //Holen Sie sich das Zielelement let odiv = e.target;
      //Scrollbereich
      //Berechnen Sie die Position der Maus relativ zum Element let disX = e.clientX - odiv.offsetLeft;
      //Die Distanz, über die die Bildlaufleiste scrollen kann, let viewArea = 500 - this.activewidth;
      //Breite des Bildlaufbereichs let bgWidth = this.$refs.liList.clientWidth * this.roleList.length;
      document.onmousemove = (e) => {
        //Maus gedrückt und bewegt-Ereignis //Subtrahiere die Position der Maus relativ zum Element von der Position der Maus, um die Position des Elements zu erhalten let left = e.clientX - disX;
        //left < 0 bedeutet, dass der Schieberegler ganz links angekommen ist //oder left > viewArea bedeutet, dass der Schieberegler ganz rechts angekommen istif (left < 0 || left > viewArea) {
          //console.log("Es ist vorbei");
          // Zu diesem Zeitpunkt müssen Sie das Ereignis löschen, sonst verlässt der Schieberegler den Bildlaufleistenbereich. document.onmousemove = null;
        } anders {
         //Die Gleitdistanz des Schiebereglers odiv.style.left = left + "px";
          //Gleitstrecke des Scrollbereichs = Breite des Scrollbereichs * (Gleitstrecke des Schiebereglers / 500)
          dies.$refs.ScrollArea.style.left =
            "-" + Hintergrundbreite * links / 500 + "px";
        }
      };
      document.onmouseup = (e) => {
        Dokument.onmousemove = null;
        Dokument.onmouseup = null;
      };
    },

Dies ist das Ende dieses Artikels zur Implementierung eines Bildlaufleistenstils in Vue. Weitere relevante Inhalte zur Implementierung von Bildlaufleisten in Vue 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 das synchrone Scrollen von zwei Bereichs-Scrollleisten
  • Vue.js Desktop benutzerdefinierte Bildlaufleiste Komponente Verschönerung Bildlaufleiste VScroll
  • Vue merkt sich die Bildlaufleiste und die perfekte Möglichkeit zum Implementieren von Dropdown-Ladevorgängen
  • So ändern Sie den Bildlaufleistenstil in Vue
  • Vue implementiert eine Steuerung der Bildlaufleistenposition nach dem Rendern der Daten (empfohlen)
  • Implementierungscode des Vue-Bildlaufleisten-Plugins
  • So implementieren Sie eine benutzerdefinierte Bildlaufleiste (Easyscroll) im Vue-Framework
  • So ändern Sie den Bildlaufleistenstil in Vue

<<:  Centos7 Zabbix3.4-E-Mail-Alarmkonfiguration (Lösung des Problems, dass der E-Mail-Inhalt ein xx.bin-Anhang ist)

>>:  Der Dienst für die dekomprimierte Version von MySQL 5.6 kann aufgrund des Systemfehlers 1067 nicht gestartet werden

Artikel empfehlen

JavaScript, um die Idee des Schlangenspiels umzusetzen

Die Implementierungsidee des Javascript-Spiels Sn...

Eine kurze Analyse der vier Importmethoden und Prioritäten in CSS

Erstens: 4 Möglichkeiten, CSS einzuführen Es gibt...

Installieren Sie Redis und MySQL auf CentOS

1|0MySQL (MariaDB) 1|11. Beschreibung Das Datenba...

Implementierungscode für die nahtlose Verbindung des Div-Bildlaufbands

Code kopieren Der Code lautet wie folgt: <html...

Detaillierte Erklärung zum Kopieren und Sichern von Docker-Containerdaten

Hier nehmen wir den Jenkins-Container als Beispie...

js-Objekt, um einen Daten-Paging-Effekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel für das Erstellen eines virtuellen Hosts basierend auf dem Apache-Port

Apache: Virtuellen Host basierend auf Port erstel...

So führen Sie eine Spring Boot-Anwendung in Docker aus

In den letzten Tagen habe ich gelernt, wie man Sp...

Eine kurze Analyse der Grundkonzepte von HTML-Webseiten

Was ist eine Webseite? Die Seite, die nach dem HT...

js realisiert bidirektionale Datenbindung (Accessor-Überwachung)

In diesem Artikelbeispiel wird der spezifische Co...

So deinstallieren Sie MySQL 5.7 unter CentOS7

Überprüfen Sie, was in MySQL installiert ist grep...

Miniprogramm zur Implementierung des kompletten Einkaufswagens

Das Miniprogramm implementiert einen vollständige...