Heim >Web-Frontend >js-Tutorial >js, um Drag-and-Drop-Effekt_Javascript-Fähigkeiten zu erlangen
Lassen Sie uns zunächst die Grundregeln und Probleme objektorientierter Übungen verstehen:
Schreiben Sie zuerst die normale Schreibmethode und ändern Sie sie dann in die objektorientierte Schreibmethode
Gewöhnliche Methodentransformation
·Versuchen Sie, keine verschachtelten Funktionen zu haben
·Kann globale Variablen haben
·Fügen Sie die Nichtzuweisungsanweisungen in der Onload-Funktion in eine separate Funktion
Wechsel zu objektorientiert
·Globale Variablen sind Attribute
·Funktionen sind Methoden
·Erstellen Sie Objekte in Onload
·Ändern Sie dieses Zeigerproblem
Verbessern Sie zunächst das Layout des Drag-Effekts:
HTML-Struktur:
csc-Stil:
#box{position: absolute;width: 200px;height: 200px;background: red;}
Der erste Schritt besteht darin, prozessorientiertes Drag & Drop zu überprüfen
Der zweite Schritt besteht darin, prozessorientiert in objektorientiert umzuschreiben
Der dritte Schritt besteht darin, die Unterschiede im Code zu erkennen
Die Homepage verwendet einen Konstruktor, um ein Objekt zu erstellen:
Befolgen Sie die zuvor geschriebenen Regeln und wandeln Sie alle globalen Variablen in Attribute um!
Dann schreiben Sie einfach die Funktionen auf den Prototyp:
Werfen wir zunächst einen Blick auf die Init-Funktion:
Wir verwenden die Variable me, um den Zeiger this zu speichern, sodass der Fehler, auf den this zeigt, im nachfolgenden Code nicht auftritt
Dann kommt die MouseDown-Funktion:
Achten Sie beim Umschreiben in objektorientiert auf das Ereignisobjekt. Da das Ereignisobjekt nur in Ereignissen vorkommt, müssen wir das Ereignisobjekt in Variablen speichern und es dann über Parameter übergeben!
Bei der folgenden MouseMove-Funktion und MouseUp-Funktion gibt es nichts zu beachten!
Dinge, die Sie beachten sollten
In Bezug auf das Problem dieses Zeigers ist dies besonders wichtig bei der Objektorientierung!
Diese erweiterte Lektüre:
http://div.io/topic/809
In Bezug auf das Problem der Ereignisobjekte erscheinen Ereignisobjekte nur in Ereignissen. Achten Sie daher beim Schreiben von Methoden darauf!