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
Inhaltsverzeichnis 2. Feldverkettung 2. Geben Sie...
In diesem Artikel möchten wir eine Sammlung von 2...
Beim Bereitstellen des Projekts auf Centos ist mi...
Vorwort In Bezug auf das Layout ist Gobang viel e...
Wenn wir eine Hintergrundfarbe mit Farbverlauf er...
Typische MySQL-Szenarien: Schnittmenge und Differ...
Cocos Creator-Version: 2.3.4 Demo-Download: https...
Es gibt eine Frage, die Webdesigner schon lange b...
Der Dienst des Unternehmens verwendet Docker und ...
In diesem Artikel wird der spezifische Code von J...
<br />Die Benutzererfahrung wird von chinesi...
Vorwort var ist eine Möglichkeit, Variablen in ES...
Win10 installiert die dekomprimierte Version von ...
Effektbild: html: <div class='site_bar'...
Es gibt im Vue-Ökosystem ein neues Build-Tool nam...