Das mobile Vue-Terminal realisiert den Finger-Gleiteffekt

Das mobile Vue-Terminal realisiert den Finger-Gleiteffekt

In diesem Artikelbeispiel wird der spezifische Code für das mobile Vue-Terminal zur Erzielung eines Finger-Gleiteffekts als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

Beim Gleiten ändert sich die Breite des gelben Blocks entsprechend. Dies wird durch Berühren und Klicken realisiert. Derzeit habe ich das Gefühl, dass die Breitenänderung einige Probleme bereitet. Ich denke noch darüber nach.

Hier ist der Code:

<template lang="html">
  <div class="zurück" ref="zurück" @touchstart.prevent="touchStart" @touchmove.prevent="touchMove">
    <div Klasse="zurück-r" 
 @touchstart.prevent="touchStarten" @touchmove.prevent="touchBewegen"
 @touchend="BerührungEnde"
 ref="rechts"></div>
  </div>
</Vorlage>
 
<Skript>
Standard exportieren {
  Daten() {
  },
  erstellt() {
    dies.berühren = {}
  },
  Methoden: {
    touchStart(e) {
      const touch = e.touches[0]
   
  //Die Position beim Klicken auf this.touch.startX = touch.pageX
      dies.touch.startY = touch.pageY
   Konsole.log('----',this.$refs.right.clientWidth)
    },
//Starten Sie den Klick touchMove(e) {
      console.log("verschieben");
      const touch = e.touches[0]
   //Die Differenz zwischen der Gleitposition und der Ausgangsposition const deltaX = touch.pageX - this.touch.startX
   console.log(deltaX)
      const deltaY = touch.pageY - this.touch.startY;
      //Rechte Breite drucken console.log('----',this.$refs.right.clientWidth+'px') 
   const rwidth = this.$refs.right.clientWidth
   //Ändern Sie die Breite rechts this.$refs.right.style.width = (this.$refs.right.clientWidth + Math.floor(deltaX/50)) +'px'
   //Beurteilen Sie, ob die Breite kleiner als 0 oder größer als 400 ist
   wenn (rwidth<0) {
    dies.$refs.right.style.width = 0
   } sonst wenn(rwidth>400){
    dies.$refs.right.style.width = 400+'px'
   } 
   Konsole.log('----',this.$refs.right.clientWidth+'px')

    },
    touchEnd() {
      console.log("Ende");
      // konsole.log(dieses.Prozent);
    }
  }
}
</Skript>
 
<style scoped lang="Stift" rel="stylesheet/Stift">
Körper{
  Rand: 0;
  Polsterung: 0;
  Überlauf: versteckt;
  Berührungsaktion: keine;
}
.zurück{
 Breite: 100%
 Höhe: 100px
 Rand 10px durchgezogen #0000FF
 Überlauf: versteckt;
}
  
  
  .zurück-r{
   // Anzeige: Inline-Block
   // vertikale Ausrichtung: oben
   Position: relativ
   Breite: 400px
   Höhe: 100%
   Überlauf: versteckt;
   Hintergrundfarbe: gelb
  }
    
</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:
  • Beispielcode für das mobile Gleitereignis Vue2.0 Vue-Touch
  • So realisieren Sie einen Links- und Rechts-Gleiteffekt auf mobilen Endgeräten in Vue
  • Benutzerdefinierte mobile Touch-Ereignisse von Vue: Klick-, Wisch- und lange Druckereignisse
  • Detaillierte Erklärung der mobilen Vue-Touch-Gesten

<<:  Detaillierte Installation und Verwendung von Docker-Compose

>>:  So stellen Sie eine Datenbank und eine Tabelle aus einer vollständigen MySQL-Datenbanksicherung wieder her

Artikel empfehlen

Tipps zur Konvertierung von MySQL-Spalten in Zeilen (teilen)

Vorwort: Weil viele Geschäftstabellen Entwurfsmus...

Sind Sie immer noch Select *?

Es gibt viele Gründe, warum eine Anwendung langsa...

Html+CSS-Zeichnungsdreiecksymbol

Schauen wir uns zunächst die Renderings an: XML/H...

Wofür wird jQuery verwendet? jQuery ist eigentlich ein js-Framework

Einführung in jQuery Die jQuery-Bibliothek kann e...

Beispiel und Lösung für einen SQL-Injection-Sicherheitslückenprozess

Codebeispiel: öffentliche Klasse JDBCDemo3 { öffe...

Erste Erfahrungen mit der Texterstellung mit Javascript Three.js

Inhaltsverzeichnis Wirkung Beginnen Sie mit der T...

Proxy_pass-Methode in mehreren if in Nginx-Standorten

1. Lassen Sie uns zunächst das relevante Wissen z...

Beispiele für neue Selektoren in CSS3

Struktureller (Position) Pseudoklassenselektor (C...