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

Grafisches Tutorial zur kostenlosen Installationsversion von MySQL 5.7.21 winx64

Konfigurationsmethode für die kostenlose Installa...

Beispiel für die Implementierung einer virtuellen Liste im WeChat Mini-Programm

Inhaltsverzeichnis Vorwort analysieren Erste Rend...

Installieren und konfigurieren Sie MySQL 5.7 unter CentOS 7

Dieser Artikel testet die Umgebung: CentOS 7 64-B...

Implementierung langer Textschatten in Less in CSS3

Dieser Artikel stellt hauptsächlich die Implement...

Analyse verschiedener Fehler bei Sortierregeln für MySQL-Tabellen

Der folgende Fehler wird gemeldet, wenn MySQL meh...

Tipps zur Verwendung von Frameset zum Zentrieren des Breitbilds

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

MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

Inhaltsverzeichnis 1. Konzept 2. Umgebungsbeschre...

Beispiel für die Installation von Kong Gateway in Docker

1. Erstellen Sie ein Docker-Netzwerk Docker-Netzw...

Implementierung der Codeaufteilung von Webpack3+React16

Projekthintergrund Seit kurzem gibt es ein Projek...