Vue implementiert Beispielcode für Links- und Rechtsgleiteffekte

Vue implementiert Beispielcode für Links- und Rechtsgleiteffekte

Vorwort

Die bei der persönlichen tatsächlichen Entwicklung verwendeten Effektprobleme werden zusammengefasst, um die zukünftige Entwicklung und Überprüfung zu erleichtern. Wenn es auch auf andere anwendbar ist, können Sie es gerne ohne Kritik mitnehmen!

Vue.js ist eines der beliebtesten JS-Frameworks. Vue ist ein fortschrittliches JavaScript-Framework zum Erstellen von Benutzeroberflächen. Im Gegensatz zu anderen großen Frameworks ist Vue so konzipiert, dass es Schicht für Schicht von unten nach oben angewendet werden kann. Die Kernbibliothek von Vue konzentriert sich nur auf die Ansichtsebene, die nicht nur einfach zu verwenden, sondern auch leicht in Bibliotheken von Drittanbietern oder vorhandene Projekte zu integrieren ist. Andererseits ist Vue, wenn es in Kombination mit modernen Toolchains und verschiedenen unterstützenden Bibliotheken verwendet wird, auch in der Lage, Treiber für komplexe Einzelseitenanwendungen bereitzustellen.

Vue.js ist eine Bibliothek zum Erstellen interaktiver Weboberflächen. Sie bietet MVVM-Datenbindung und ein zusammensetzbares Komponentensystem mit einer einfachen und flexiblen API. Technisch gesehen konzentriert sich vue.js auf die Ansichtsmodellebene (viewModel) des MVVM-Musters und verbindet Ansicht (view) und Modell (model) durch bidirektionale Datenbindung. Die eigentliche DOM-Manipulation und Ausgabeformatierung werden in Anweisungen und Filter abstrahiert. Im Vergleich zu anderen MVVM-Frameworks ist der Einstieg in vue.js einfacher. Es ermöglicht Ihnen die Erstellung datengesteuerter UI-Komponenten über eine einfache und flexible API.

Beispielcode

HTML Code

<Vorlage>
    <div id="Schiebeleiste" class="box">
        <div class="item" ref="Folie" :style="Folienstil" @touchstart="start($event)" @touchmove="bewegen($event)" @touchend="ende($event)">
          <img src="http://img2.imgtn.bdimg.com/it/u=2555191195,2735808065&fm=26&gp=0.jpg" alt="">
          <div Klasse="rechts">
            <div class="title">Hallo!</div>
            <p class="text">Hahahaha</p>
            <p class="Preis">Gut</p>
          </div>
        </div>
        <div Klasse="btn" ref="btn">
            <button>Bearbeiten</button>
            <button style="background:#387ef5;color:#fff">Sammeln</button>
        </div>
    </div>
</Vorlage>

CSS Code

<Stil>
.Kasten{
    Position: relativ;
    Rahmen unten: 0,026667rem durchgezogen #666666;
}
.btn{
  Höhe: 100 %;
  Position: absolut;
  rechts:0;
  oben: 0;
  Hintergrund: rot;
  Anzeige: Flex;
}
Taste{
  Breite: 1,6rem;
  Höhe: 100 %;
  Hintergrund: #f8f8f8;
  Rand: keiner;
}
.Artikel{
  Polsterung: 0,266667rem;
  Anzeige: Flex;
  Position: relativ;
  Hintergrund:#fff;
  Z-Index: 2;
  Kastenschatten: 0,026667rem 0 0,053333rem #ddd;
}
.item img{
  Breite: 2,133333rem;
  Höhe: 2,133333rem;
  Rand rechts: 0,4rem;
  Randradius: 0,133333rem;
}

.Artikel .Titel{
  Schriftgröße: 0,48rem;
  schweben: links;
}
.Artikel .Text{
  Schriftgröße: 0,426667rem;
  Farbe: #888;
  schweben: links;
  Rand: 0 1,33rem;
}
.Artikel .Preis{
  Farbe: #888;
  schweben: links;
  Rand: 0 1,33rem;
}
</Stil>

JS-Code

<Skript>
    Standard exportieren {
        Name: "SlideBar",
        Requisiten: {

        },
        Daten (){
            zurückkehren {
                Flagge: falsch,
                startX: 0,
                EndeX: 0,
                Folienstil: {
                    links: 0,
                    Übergang: „keine“
                }
            }
        },
        Methoden: {
            start (e){ //Zeichne die Position der X-Achse des Bildschirms auf, wenn das Gleiten beginnt. this.flag = true;
                this.startX = e.touches[0].clientX;
                dies.endX = dies.$refs.slide.offsetLeft;
                this.slideStyle.transition = "keine";
            },
            bewegen (e){
                wenn(diese.flagge){
                    // Logik zur Handhabung der Mausbewegung var moveX = this.endX + (e.touches[0].clientX - this.startX); //Gleitdistanz berechnen if (Math.abs(moveX) >= this.$refs.btn.offsetWidth && moveX < 0) { //Beurteilen, ob die Gleitdistanz größer ist als die Breite von class:btn moveX = (Math.abs(moveX) - this.$refs.btn.offsetWidth) * 0.1; // 0.3 Widerstandskoeffizient this.slideStyle.left = - this.$refs.btn.offsetWidth - moveX + 'px';
                    }else if(moveX >= 0){ //Ist die Gleitdistanz größer oder gleich 0?
                        this.slideStyle.left = 0 + 'px'; //größer oder gleich 0, um class:item gleich 0 zu machen
                    }anders{
                        this.slideStyle.left = moveX + 'px'; //Kleiner als 0 macht class:item gleich der Gleitdistanz}
                }
            },
            Ende (e){
                wenn(diese.flagge){
                    diese.flagge = falsch;
                    // endX = Folie.OffsetLeft;
                    var moveX = e.changedTouches[0].clientX - this.startX; //Gleitdistanz berechnen this.slideStyle.transition = 'left .3s';
                    var btnWidth = this.$refs.btn.offsetWidth; //Klasse:btn-Breitewenn(moveX < 0){
                        if(Math.abs(moveX) >= btnWidth / 2 || Math.abs(this.$refs.slide.offsetLeft) >= this.$refs.btn.offsetWidth){ //Ist es größer als die halbe Breite von class:btn this.slideStyle.left = - btnWidth + 'px'; //Wenn Sie mehr als die halbe Breite von class:btn nach links schieben, schieben Sie zurück}else if(Math.abs(moveX) < btnWidth / 2){ //Kleiner als die halbe Breite von class:btn this.slideStyle.left = 0 + 'px'; //Wenn Sie nach links schieben, ohne die halbe Breite von class:btn zu überschreiten, kehren Sie zur Ausgangsposition zurück}
                    }sonst wenn(moveX > 0 && this.endX != 0){
                        wenn (Math.abs(moveX) >= btnWidth / 2) {
                            this.slideStyle.left = 0 + 'px'; //Mehr als die Hälfte der Breite von class:btn nach rechts schieben und dann wieder zurück}else if(Math.abs(moveX) < btnWidth / 2){
                            this.slideStyle.left = - btnWidth + 'px'; //Nach rechts schieben, ohne die Hälfte der Breite von class:btn zu überschreiten und zur Ausgangsposition zurückkehren}
                    }
                }
            }
        },
        montiert () {
            var _this = dies;
            // Verwende den modernen Event-Listener von js. Der Übergang beendet diesen. $refs.slide.addEventListener('transitionend',function(){
                _this.endX = dies.offsetLeft;
            })
        }
    }
</Skript>

Zusammenfassen

Dies ist das Ende dieses Artikels darüber, wie Sie mit Vue Links- und Rechtsgleiteffekte erzielen. Weitere relevante Inhalte zu Vue Links- und Rechtsgleiteffekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue implementiert eine gleitende Navigation oben links und rechts
  • Vue implementiert eine Registerkartennavigationsleiste und unterstützt die Schiebefunktion nach links und rechts
  • Vue + Swiper implementiert die Testfragefunktion zum Schieben nach links und rechts
  • Vue verwendet den Swiper zum Wechseln von Bildern durch Wischen nach links und rechts
  • Vue verwendet Better-Scroll, um Gleiten und Links-Rechts-Verknüpfung zu erreichen
  • Detaillierte Erläuterung der Links- und Rechtsschiebeereignisse auf dem Vue-Mobilterminal
  • Das mobile Terminal von Vue realisiert die Animation des nach links und rechts gleitenden Mobiltelefons
  • So realisieren Sie einen Links- und Rechts-Gleiteffekt auf mobilen Endgeräten in Vue
  • Implementierung des Links- und Rechtsschiebeeffekts beim Seitenwechsel basierend auf Vue
  • Detaillierte Erläuterung der Verwendung der linken und rechten Schiebetastengruppenkomponente von Vue

<<:  Detaillierte Erklärung zur Installation von MySQL in der Alibaba Cloud

>>:  Implementierung von Redis mit einem Master, zwei Slaves und drei Sentinels basierend auf Docker

Artikel empfehlen

Super detaillierte Schritte zur Installation von Zabbix3.0 auf Centos7

Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...

JavaScript navigator.userAgent erhält Browserinformationen – Fallerklärung

Der Browser ist für uns wahrscheinlich das vertra...

So installieren Sie MySQL auf CentOS und richten den Fernzugriff ein

1. Laden Sie die MySQL-Repo-Quelle herunter $ wge...

Mehrere gängige Methoden zum Festlegen der Ankerpositionierung in HTML

Mir sind mehrere Möglichkeiten bekannt, die Ankerp...

Lösen Sie das Problem, dass await in forEach nicht funktioniert

1. Einleitung Vor ein paar Tagen bin ich bei der ...

Schritte zur Bereitstellungsmethode für Docker Stack für Webcluster

Docker wird immer ausgereifter und seine Funktion...

Eine kurze Diskussion über benutzerdefinierte VUE-Uni-App-Komponenten

1. Übergeordnete Komponenten können Daten über Re...

jQuery realisiert den Gleiteffekt des Dropdown-Menüs

Wenn wir eine Webseite erstellen, möchten wir man...

Ubuntu 19.10 aktiviert SSH-Dienst (detaillierter Prozess)

Ich habe mehr als eine Stunde gebraucht, um SSH i...

So geben Sie Speicherplatz unter CentOS 6 oder CentOS 7 frei

Nachfolgend finden Sie die Schnellbefehle zum Fre...

Detaillierte Erklärung von JavaScript Reduce

Inhaltsverzeichnis Karte Filter manche jeder Inde...