JavaScript zum Erzielen eines einfachen Drag-Effekts

JavaScript zum Erzielen eines einfachen Drag-Effekts

In diesem Artikel wird der spezifische JavaScript-Code zur Erzielung eines einfachen Drag-Effekts als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

1. Bauen Sie zuerst das Gerüst auf:

* {
            Rand: 0;
            Polsterung: 0;
        }
        
        P {
            Hintergrund: himmelblau;
            Textausrichtung: zentriert;
        }
        
        html,
        Körper {
            Breite: 100 %;
            Höhe: 100%;
        }
        
        .Maske {
            Breite: 100 %;
            Höhe: 100%;
            Position: fest;
            links: 0;
            oben: 0;
            Hintergrund: rgba(0, 0, 0, .5);
            Anzeige: keine;
        }
        
        .Anmelden {
            Breite: 400px;
            Höhe: 300px;
            Hintergrund: lila;
            Position: absolut;
            links: 50%;
            oben: 50 %;
            transformieren: übersetzen(-50 %, -50 %);
            Anzeige: keine;
            Cursor: bewegen;
        }
        
        .login>span {
            Anzeige: Inline-Block;
            Breite: 50px;
            Höhe: 50px;
            Hintergrund: rot;
            Position: absolut;
            oben: 0;
            rechts: 0;
        }
<p>Ich bin ein P-Tag</p>
    <a href="http://www.baidu.com" >Offizielle Website</a>
    <div Klasse="Maske"></div>
    <div Klasse="Anmelden">
        <span></span>
</div>

2. Logischer Teil

//1. Das zu bearbeitende Element abrufen const oP = document.querySelector("p");
const oMask = document.querySelector(".mask");
const oLogin = document.querySelector(".login");
const oClose = oLogin.querySelector(".login>span");
// console.log(oSchließen);
 
//2. Auf Klickereignisse warten oP.onclick = function() {
    oMask.style.display = "Block";
    oLogin.style.display = "Block";
        };
        oSchließen.onclick = function() {
            oMask.style.display = "keine";
            oLogin.style.display = "keine";
        };
 
//3. Warten Sie auf die Druck- und Bewegungsereignisse des Anmeldefelds oLogin.onmousedown = function(e) {
            e = e || e.Fenster;
 
            //1. Berechnen Sie die feste Distanz const x = e.pageX - oLogin.offsetLeft;
            const y = e.pageY - oLogin.offsetTop;
            // console.log(x);
 
            //2. Auf mobile Ereignisse warten oLogin.onmousemove = function(e) {
                e = e || e.Fenster;
 
                //3. Berechnen Sie den Offset nach der Verschiebung let offsetX = e.pageX - x;
                sei offsetY = e.pageY - y;
 
                //4. Position des Anmeldefelds zurücksetzen oLogin.style.left = offsetX + 'px';
                oLogin.style.top = offsetY + 'px';
            };
        };
 
        oLogin.onmouseup = Funktion() {
            oLogin.onmousemove = null;
        }; 

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:
  • JQuery-Dialog (JS-Modalfenster, verschiebbares DIV)
  • Analyse der Verwendung der Drag & Drop-Sortierung von Sortable.js
  • js, um einen Drag-Effekt zu erzielen
  • JavaScript implementiert die Touchscreen-Drag-Funktion auf mobilen Endgeräten
  • Einfacher Drag-Effekt mit js implementiert
  • JS realisiert einen schönen Fenster-Drag-Effekt (Größe kann geändert, maximiert, minimiert, geschlossen werden)
  • Beispiel einer Drag-and-Drop-Upload-Funktion für Dateien, die von JS implementiert wurde
  • Verwenden von Javascript zum Implementieren von Maus-Drag-Ereignissen
  • Implementierungscode für den Drag-Effekt der JS-Komponente Bootstrap Table Table
  • JS implementiert die Touchscreen-Drag-Funktion auf Mobilgeräten

<<:  HTML-Code, der den Internet Explorer zum Einfrieren bringen kann

>>:  Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

Artikel empfehlen

Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...

So ändern Sie die Zeit in der virtuellen CentOS-Maschine

Das obere Bild zeigt die Systemzeit und das unter...

Implementierung der One-Click-TLS-Verschlüsselung für die Docker-Remote-API

Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...

Detaillierte Schritte zur Remotebereitstellung einer MySQL-Datenbank unter Linux

Remotebereitstellung der MySQL-Datenbank unter Li...

Vue+Bootstrap realisiert ein einfaches Studentenverwaltungssystem

Ich habe Vue und Bootstrap verwendet, um ein rela...

61 Dinge, die jeder Webentwickler wissen sollte

Normalerweise müssen Sie die Reden aller Teilnehme...

js, um den Zahlungs-Countdown zu realisieren und zur Startseite zurückzukehren

Zahlungs-Countdown, um zur Startseite zurückzukeh...

Ein praktischer Bericht über einen durch den MySQL-Start verursachten Unfall

Inhaltsverzeichnis Hintergrund So ermitteln Sie, ...

Wettersymbol-Animationseffekt implementiert durch CSS3

Ergebnisse erzielen Implementierungscode html <...

Erstellen eines FastDFS-Dateisystems in Docker (Tutorial mit mehreren Images)

Inhaltsverzeichnis Über FastDFS 1. Suche nach Bil...