In diesem Artikel wird der spezifische Code für React zur Implementierung des Doppelschiebereglers Cross Sliding zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt HTML Quelltext: <Text> <div id="Wurzel"></div> </body> Skriptcode: <Skripttyp="text/babel"> const root = document.querySelector('#root') Klasse Comp erweitert React.Component { Konstruktor(...args) { super(...args) } fn(ev) { // Abstand des Mausklicks ermitteln this.pageX = ev.changedTouches[0].pageX - ev.target.offsetLeft // Das übergeordnete Element abrufen this.parentWidth = ev.target.parentNode.offsetWidth - ev.target.offsetWidth // Den übergeordneten Knoten abrufen this.parent = ev.target.parentNode // Holen Sie sich die Zeile this.line = this.parent.children[2] // Hol den Ball auf der linken Seite this.oBall = this.parent.children[0] // Der Ball rechts this.oBallTwo = this.parent.children[1] Dokument.ontouchmove = dies.fnMove.bind(dies) Dokument.ontouchend = this.fnEnd } fnBewegung(ev) { // Box-Offset this.X = ev.changedTouches[0].pageX - this.pageX // Überprüfen Sie, dass der Versatz nicht größer als die Breite des übergeordneten Felds sein kann, wenn (this.X >= this.parentWidth) { dies.X = diese.übergeordneteBreite } //Überprüfen Sie, ob der Wert nicht kleiner als 0 sein kann wenn (dies.X <= 0) { dies.X = 0 } //Breite der Linie berechnen. Der Absolutwert der interaktiven Berechnung der kleinen Kugeln ist die Breite der Linie this.lineWidth = Math.abs(this.oBallTwo.offsetLeft - this.oBall.offsetLeft) // Linienbreite this.line.style.width = this.lineWidth + 'px' // Der Abstand vom Ball nach links ev.target.style.left = this.X + 'px' // Bestimme den OffsetLeft des rechten Balls minus dem OffsetLeft des linken Balls. Wenn dieser kleiner als 0 ist, ist der rechte Ball am nächsten links. Nimm seinen OffsetLeft-Wert heraus, der die Distanz der Linie nach links ist, wenn (this.oBallTwo.offsetLeft-this.oBall.offsetLeft<0) { diese.Linie.Stil.links=diese.oBallTwo.offsetLeft+'px' }anders{ diese.Linie.Stil.links=diese.oBall.offsetLeft+'px' } } fnEnd() { document.ontouchmove = null document.ontouchend = null } rendern() { zurück (<div Klassenname='Box'> <div Klassenname = 'Ball' onTouchStart = {this.fn.bind(this)}></div> <div className='ball ac' onTouchStart={this.fn.bind(this)}></div> <div Klassenname = "Zeile"></div> <div Klassenname = 'lineT'></div> </div>) } } ReactDOM.render(<Comp />, Wurzel) </Skript> CSS-Stil: <Stil> Körper { Rand: 0; Polsterung: 0; } .Kasten { Breite: 500px; Höhe: 40px; Hintergrund: #999; Position: relativ; Rand: automatisch; Rand oben: 100px; } .ball { Breite: 40px; Höhe: 40px; Hintergrund: rot; Position: absolut; Randradius: 50 %; Z-Index: 10; } .ball.ac { Hintergrund: #0f0; rechts: 0; } .Linie { Höhe: 5px; Breite: 500px; Hintergrund: rgb(200, 110, 7); Position: absolut; oben: 50 %; links: 0; transformieren: übersetzen(0, -50%); Z-Index: 5; } .lineT { Höhe: 5px; Breite: 500px; Hintergrund: #fff; Position: absolut; oben: 50 %; links: 0; transformieren: übersetzen(0, -50%); } </Stil> Zweite Methode: Klicken Sie auf den Link, um die zweite Methode anzuzeigen Vue realisiert den Gleitkreuzeffekt des Balles 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 Gleitkreuzeffekt des Balles
>>: Lösung für den Absturz der Grafikkarte auf Linux-Servern
Eine MySQL-ähnliche PHP-Switch-Case-Anweisung. wä...
Ziehen Sie die Maus, um einen Screenshot der Seit...
Inhaltsverzeichnis 1.1Tinyint-Typbeschreibung 1.2...
1. Übersicht über Inner Join-Abfragen Der Inner J...
Wir können ein Hintergrundbild für die Zelle fest...
Vor kurzem musste ich alle Felder einer verknüpft...
1. useState: Funktionskomponenten Status geben An...
1. Führende Fuzzy-Abfragen können keinen Index ve...
Als ich kürzlich an einem System zur Gesundheitse...
Inhaltsverzeichnis Grundlegende Anweisungen und V...
1. Fenster -> Einstellungen, um das Eclipse-Ei...
Inhaltsverzeichnis Einführung in FRM-Dateien und ...
Sowohl die Optionen „Nur lesen“ als auch „Deaktiv...
In diesem Artikel werden hauptsächlich die Unters...
Vorwort Linux verfügt über entsprechende Open-Sou...