Natives JS zur Implementierung der Drag-Position-Vorschau

Natives JS zur Implementierung der Drag-Position-Vorschau

In diesem Artikel wird eine kleine Demo gezeigt, die beim Ziehen eines Elements eine Vorschau hinzufügt. Der Effekt ist wie folgt:

Nachfolgend sehen Sie die Codeimplementierung. Jeder kann sie kopieren, einfügen und kommentieren.

<!DOCTYPE html>
<html>
 
<Kopf>
    <meta http-equiv="Inhaltstyp" content="text/html; charset=utf-8" />
    <title>Natives JS zur Implementierung der Drag-Position-Vorschau</title>
    <Stil>
        .Kasten {
            Position: absolut;
            Rand: 1px gestrichelt schwarz;
        }
 
        #div1 {
            Breite: 100px;
            Höhe: 100px;
            Hintergrund: gelb;
            Position: absolut;
        }
    </Stil>
    <Skript>
        fenster.onload = Funktion () {
 
            var oDiv = document.getElementById('div1');
 
            oDiv.onmousedown = Funktion (ev) {
 
                var oEvent = ev || Ereignis;
                var disX = oEvent.clientX - oDiv.offsetLeft;
                var disY = oEvent.clientY - oDiv.offsetTop;
 
                //Erstelle ein Div mit einem gepunkteten Rahmen
                var oNewDiv = document.createElement('div');
 
                oNewDiv.className = "Box";
                //Subtrahieren Sie die Rahmengröße, damit sie mit der ursprünglichen Div-Größe übereinstimmt. oNewDiv.style.width = oDiv.offsetWidth - 2 + 'px';
                oNewDiv.style.height = oDiv.offsetHeight - 2 + 'px';
                oNewDiv.style.left = oDiv.offsetLeft + 'px';
                oNewDiv.style.top = oDiv.offsetTop + 'px';
 
                Dokument.body.appendChild(oNewDiv);
 
                document.onmousemove = Funktion (ev) {
 
                    var oEvent = ev || Ereignis;
 
                    oNewDiv.style.left = oEvent.clientX - disX + 'px';
                    oNewDiv.style.top = oEvent.clientY - disY + 'px';
                };
 
                dokument.onmouseup = Funktion () {
 
                    Dokument.onmousemove = null;
                    Dokument.onmouseup = null;
 
                    oDiv.style.left = oNeuesDiv.style.left;
                    oDiv.style.top = oNeuesDiv.style.top;
                    //Gepunktetes Kästchen entfernen document.body.removeChild(oNewDiv);
                };
            };
        };
    </Skript>
</Kopf>
 
<Text>
    <div id="div1"></div>
</body>
 
</html>

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:
  • JS HTML5 Drag & Drop-Upload Bildvorschau
  • JS implementiert drei Methoden zum Hochladen von Bildern und Realisieren der Bildvorschaufunktion
  • js zur Realisierung der Bild-Upload- und Vorschaufunktion
  • js-Methode zur Realisierung der Vorschau hochgeladener Bilder
  • Das JS-Vorschaubild zeigt lokale Bilder im Browser an
  • js zum Hochladen von Bildern und zur Vorschau vor dem Hochladen
  • Beispiel für eine lokale Javascript-Vorschau vor dem Hochladen eines Bildes
  • js Bildvorschaufunktion vor dem Hochladen (kompatibel mit allen Browsern)
  • Einfache Implementierung der JS-Bildvorschaufunktion
  • Analyse des Prinzips der Bild-Upload-Vorschau mit js

<<:  Implementierung des Docker View Container Log-Befehls

>>:  HTML-Tabellen-Tag-Tutorial (19): Zeilen-Tag

Artikel empfehlen

js, um eine einfache Lotteriefunktion zu erreichen

In diesem Artikel wird der spezifische Code von j...

Lösung für das Routing-Hervorhebungsproblem von Vue-Komponenten

Vorwort Früher habe ich den Cache verwendet, um d...

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage Lassen Sie mich zunächst über das Problem s...

Detaillierte Erläuterung der Beispiele für CSS-Gewichtswerte (Kaskadierung)

•Es gibt viele Selektoren in CSS. Was passiert, w...

MySQL Null kann 5 Probleme verursachen (alle schwerwiegend)

Inhaltsverzeichnis 1. Zähldaten gehen verloren Lö...

Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL

Vorwort Der Befehl „Explain“ ist die primäre Mögl...

Optimierung der MySQL 4G-Speicherserverkonfiguration

Da die Anzahl der Besuche auf der Website des Unt...

So erstellen Sie https mit Nginx und dem kostenlosen Tencent Cloud-Zertifikat

Ich habe gelernt, wie man https bekommt. Kürzlich...