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

Datenabfragevorgang im MySQL-JSON-Format

Der Standardtabellenname ist „base_data“ und der ...

Installationstutorial auf Unternehmensebene unter Verwendung des LAMP-Quellcodes

Inhaltsverzeichnis LAMP-Architektur 1.Lampeneinfü...

Automatische Zeilenumbrüche in HTML-Pre-Tags

Zu diesem Zeitpunkt können Sie overflow:auto; verw...

mysql 5.7.5 m15 winx64.zip Installations-Tutorial

So installieren und konfigurieren Sie mysql-5.7.5...

So optimieren Sie die langsame Like-Fuzzy-Abfrage in MySQL

Inhaltsverzeichnis 1. Einleitung: 2. Die erste Id...

Einige Probleme, die bei der Installation von MySQL auftreten können

Frage 1: Wenn Sie während der Installation „net s...

So installieren Sie MySQL und MariaDB in Docker

Beziehung zwischen MySQL und MariaDB Das Datenban...

Docker-Lernen: Die spezifische Verwendung von Container-Containern

Container sind ein weiteres Kernkonzept von Docke...