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

Vue implementiert nahtloses Scrollen von Listen

In diesem Artikelbeispiel wird der spezifische Co...

Vuex in einem Artikel verstehen

Inhaltsverzeichnis Überblick Die vier Hauptobjekt...

Codebeispiel für die Verwendung der MySql COALESCE-Funktion

COALESCE ist eine Funktion, die sich nacheinander...

Implementierung eines Docker-Cross-Host-Netzwerks (manuell)

1. Einführung in Macvlan Vor dem Aufkommen von Ma...

Eine detaillierte Einführung in die Grundlagen des Linux-Scriptings

Inhaltsverzeichnis 1. Skript-Vim-Umgebung 2. So d...

Detaillierte Erklärung, wie MySQL Phantom-Lesevorgänge löst

1. Was ist Phantomlesen? Wenn bei einer Transakti...

Eine kurze Analyse der startReactApplication-Methode von React Native

In diesem Artikel haben wir den Startvorgang von ...

Entmystifizierung des HTML 5-Arbeitsentwurfs

Das World Wide Web Consortium (W3C) hat einen Entw...

Python3.6-MySql Dateipfad einfügen, die Lösung zum Entfernen des Backslashs

Wie unten dargestellt: Ersetzen Sie es einfach, w...

Detaillierte Erläuterung des automatischen Füllschreibens von CSS3-Flexboxen

In diesem Artikel wird hauptsächlich die Methode ...

So aktivieren Sie die JMX-Überwachung über Tomcat

Erstellen Sie eine Simulationsumgebung: Betriebss...