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:
|
Der Standardtabellenname ist „base_data“ und der ...
Inhaltsverzeichnis LAMP-Architektur 1.Lampeneinfü...
Zu diesem Zeitpunkt können Sie overflow:auto; verw...
1. Einleitung: Wenn wir Flash-Inhalte normal auf d...
In MySQL verwenden wir normalerweise ein Limit, u...
So installieren und konfigurieren Sie mysql-5.7.5...
1. Installieren Sie Howdy: Howdy-Projektadresse s...
Inhaltsverzeichnis 1. Einleitung: 2. Die erste Id...
Frage 1: Wenn Sie während der Installation „net s...
Suchen Sie zwei Testmaschinen: [root@docker1 cent...
Beziehung zwischen MySQL und MariaDB Das Datenban...
Container sind ein weiteres Kernkonzept von Docke...
IP-Masquerading und Port-Weiterleitung Firewalld ...
Ich habe gesehen, dass die Taobao-Webseite Import ...
Die default_server-Direktive von nginx kann einen...