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

HTML-Tabellen-Markup-Tutorial (38): Rahmenfarben-Attribut der Kopfzeile BORDERCOLOR

Um die Tabelle zu verschönern, können Sie für die...

Detaillierte Erklärung der Javascript-Grundlagen

Inhaltsverzeichnis Variable Datentypen Erweiterun...

So überwachen Sie den Linux-Serverstatus

Wir, insbesondere Linux-Ingenieure, haben täglich...

CentOS7-Upgrade des Kernels kernel5.0 Version

Upgrade-Prozess: Ursprüngliches System: CentOS7.3...

Zusammenfassung der englischen Namen chinesischer Schriftarten

Wenn Sie in CSS die Eigenschaft „font-family“ ver...

So überwachen Sie Oracle-Datenbanken mit Zabbix Agent2

Überblick In Zabbix Version 5.0 und höher wurde e...

Beispiel für die Verwendung von JS, um zu bestimmen, ob ein Element ein Array ist

Hier sind die Arten von Daten, die überprüft werd...

Erstellen Sie mit Flutter eine verschiebbare Stapel-Widget-Funktion

Dieser Beitrag konzentriert sich auf ein streng g...

Der Aufruf der Suchmaschine auf der Seite erfolgt am Beispiel von Baidu

Heute ist mir plötzlich eingefallen, dass es cool ...

So fragen Sie doppelte Daten in einer MySQL-Tabelle ab

INSERT INTO hk_test(Benutzername, Passwort) VALUE...

Lösung für die verstümmelte Anzeige von Linux SecureCRT

Sehen wir uns die Situation an, in der SecureCRT ...

Das WeChat-Applet realisiert die Funktion zum Hochladen von Bildern

In diesem Artikelbeispiel wird der spezifische Co...

So wählen Sie zwischen MySQL CHAR und VARCHAR

Inhaltsverzeichnis VARCHAR- und CHAR-Typen Abschl...

Detaillierte Erläuterung der MySQL-Fremdschlüsseleinschränkungen

Amtliche Dokumentation: https://dev.mysql.com/doc...