Vue implementiert einen beweglichen schwebenden Button

Vue implementiert einen beweglichen schwebenden Button

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Realisierung der schwebenden Schaltfläche, die zu Ihrer Referenz überall verschoben werden kann, geteilt. Der spezifische Inhalt ist wie folgt

1.html-Code

<div
 Klasse = "Rückruf-Float"
 @click="beimKlick"
 @mousedown="runter"
 @touchstart="nach unten"
 @mousemove="bewegen"
 @touchmove="bewegen"
 @mouseup="Ende"
 @touchend="Ende"
 ref="fu"
 >
 <!-- <p @click="callback">Zurück</p> -->
 <img @click="callback" src="@/assets/images/callbs.jpg" alt />
</div>

2. Definieren Sie in Daten

Daten() {
 zurückkehren {
  wird geladen: false,
  flags: false, //Position der Steuerung verwenden: {
  x: 0,
  y: 0,
  },
  nx: "",
  ny: "",
  dx: "",
  dy: "",
  xPum: "",
  yPum: "",
 };
 },

3.js-Code

Methoden: {
 Rückruf() {
  dies.$router.go(-1);
 },
 beiAktualisieren() {
  // Fenster.Standort.neu laden();
  setzeTimeout((res) => {
  konsole.log(res);
  dies.isLoading = falsch;
  }, 1000);
 },
 runter() {
  dies.flags = wahr;
  var berühren;
  wenn (Ereignis.berührt) {
  berühren = Ereignis.Berührungen[0];
  } anders {
  Berührung = Ereignis;
  }
  diese.position.x = touch.clientX;
  diese.position.y = touch.clientY;
  dies.dx = dies.$refs.fu.offsetLeft;
  dies.dy = dies.$refs.fu.offsetTop;
 },
 bewegen() {
  wenn (diese.flags) {
  var berühren;
  wenn (Ereignis.berührt) {
   berühren = Ereignis.Berührungen[0];
  } anders {
   Berührung = Ereignis;
  }
  dies.nx = touch.clientX - diese.position.x;
  dies.ny = touch.clientY - diese.position.y;
  dies.xPum = dies.dx + dies.nx;
  dies.yPum = dies.dy + dies.ny;
  let width = window.innerWidth - this.$refs.fu.offsetWidth; //Bildschirmbreite minus Steuerelementbreite let height = window.innerHeight - this.$refs.fu.offsetHeight; //Bildschirmhöhe minus Steuerelementhöhe this.xPum < 0 && (this.xPum = 0);
  dies.yPum < 0 und (dies.yPum = 0);
  this.xPum > Breite && (this.xPum = Breite);
  this.yPum > Höhe && (this.yPum = Höhe);
  // wenn (this.xPum >= 0 && this.yPum >= 0 && this.xPum<= Breite &&this.yPum<= Höhe) {
  dies.$refs.fu.style.left = dies.xPum + "px";
  dies.$refs.fu.style.top = dies.yPum + "px";
  // }
  //Verhindert standardmäßig das Verschieben der Seite document.addEventListener(
   "Berührungsbewegung",
   Funktion () {
   event.preventDefault();
   },
   FALSCH
  );
  }
 },
 //Funktion wenn die Maus losgelassen wird end() {
  diese.flags = falsch;
 },
 beiKlick() {
  //Hier verwende ich dies als Unterkomponente this.$emit("click");
 },
 },

4.Stil

<Stilbereich>
.callback p {
 Schriftgröße: 16px;
 Farbe: #fff;
 Hintergrund: rgba(56, 57, 58, 0,5);
 Randradius: 50 %;
 Textausrichtung: zentriert;
 Breite: 50px;
 Höhe: 50px;
 Zeilenhöhe: 50px;
 Schriftfamilie: PingFang SC;
 Schriftstärke: 600;
 Kastenschatten: 0 0 10px #fff;
}
.callback img {
 Anzeige: Block;
 Breite: 50px;
 Höhe: 50px;
 Kastenschatten: 0 0 10px rgb(133, 129, 129);
 Randradius: 50 %;
 Hintergrund: #fff;
}
.rückruf {
 Position: fest;
 oben: 40px;
 links: 20px;
 Z-Index: 99999;
}
.schweben {
 Position: fest;
 rechts: 20px;
 oben: 60 %;
 Touch-Aktion: keine;
 Textausrichtung: zentriert;
 Breite: 50px;
 Höhe: 50px;
 Rahmenradius: 24px;
 Zeilenhöhe: 48px;
 Farbe: weiß;
}
</Stil>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue realisiert den schwebenden Fenstereffekt auf mobilen Endgeräten
  • Beispielcode für eine schwebende, verschiebbare Vue-Schaltfläche
  • Beispielcode der schwebenden Zoomfunktion für die Miniaturansicht einer Element-UI-Tabelle in Vue
  • Vue implementiert ein schwebendes/verstecktes Systemmenü in der oberen rechten Ecke der Seite
  • Vue-Beispielcode zum Erzielen des Effekts der Anzeige einer schwebenden Box, wenn die Maus über den Text fährt
  • Vue.js-Funktion zum Ändern von Bildern durch Mouseover
  • vue + jquery + lodash realisiert den oberen schwebenden Fixeffekt beim Gleiten
  • Vue implementiert den Code des schwebenden Balls auf der Seite des PCs
  • Vue implementiert das Abfangen von sehr langem Text und die Eingabeaufforderung für schwebende Boxen
  • Vue realisiert den schwebenden Balleffekt

<<:  So deaktivieren Sie Anzeigen in der Terminal-Willkommensnachricht in Ubuntu Server

>>:  Fehler MySQL-Tabelle 'performance_schema...Lösung

Artikel empfehlen

So konfigurieren Sie mehrere Tomcats mit Nginx-Lastausgleich unter Linux

Die Methoden zur Installation von Nginx und mehre...

So verwenden Sie Standardwerte für Variablen in SASS

Bei in SASS definierten Variablen überschreibt de...

Erläuterung des React+TypeScript-Projektaufbaufalls

Das Erstellen eines React-Projekts kann sehr einf...

CentOS 6.5 i386 Installation MySQL 5.7.18 ausführliches Tutorial

Die meisten Leute kompilieren MySQL und legen es ...

Detaillierte Erklärung der JS-Homologiestrategie und CSRF

Inhaltsverzeichnis Überblick Same-Origin-Policy (...

Lösung für 404-Fehler beim Herunterladen einer APK-Datei vom IIS-Server

Bei der Verwendung von IIS als Server wurde die A...

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur . │ .env │ docker-compose.yml...

Einführung in Sublime Text 2, ein Web-Frontend-Tool

Sublime Text 2 ist ein leichter, einfacher, effiz...

Eine kurze Diskussion über die MySQL-Zeilenanzahl

Wir alle kennen die MySQL-Funktion count(), mit d...

Vue3 basierend auf der Skript-Setup-Syntax $refs-Verwendung

Inhaltsverzeichnis 1. Vue2-Syntax 2. Nutzung von ...

MySQL-Grundanweisungen zum Hinzufügen, Löschen, Ändern und Abfragen

Grammatik Hier ist die allgemeine SQL-Syntax für ...

MySQL-Startfehler InnoDB: Sperren nicht möglich/ibdata1-Fehler

Beim Starten von MySQL in einer OS X-Umgebung wir...