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

Detaillierte Erklärung der Routenkonfiguration von Vue-Router

Inhaltsverzeichnis einführen Objektattribute in R...

Grundlegendes Lernprogramm zum Tabellen-Tag in HTML

Zusammensetzung der Tabellenbeschriftung Die Tabe...

Zusammenfassung der speicherbezogenen Parameter von MySQL 8.0

Theoretisch entspricht der von MySQL verwendete S...

Chrome 4.0 unterstützt GreaseMonkey-Skripte

GreaseMokey (die Chinesen nennen es Grease Monkey...

ElementUI-Komponente el-dropdown (Falle)

Auswählen und ändern: Klicken Sie, um den aktuell...

Connector-Konfiguration in Tomcat

JBoss verwendet Tomcat als Webcontainer. Die Konf...

Zusammenfassung der Konstruktor- und Superwissenspunkte in React-Komponenten

1. Einige Tipps zu mit class in react deklarierte...

Detaillierte Erklärung zum Datenaustausch zwischen Vue-Komponenten

Inhaltsverzeichnis 1. In der Projektentwicklung w...

Informationen zur Auswahl des Uhrzeit-, Datums- und Zeichenfolgentyps in MySQL

Inhaltsverzeichnis 1. Verwendung von DATETIME und...

js Promise-Methode zur gleichzeitigen Steuerung

Inhaltsverzeichnis Frage Hintergrund Idee & U...

So installieren und konfigurieren Sie MySQL und ändern das Root-Passwort

1. Installation apt-get install mysql-server erfo...

Zusammenfassung gängiger Fehler beim Entwurf von MySQL-Tabellen

Inhaltsverzeichnis Fehler 1: Zu viele Datenspalte...