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

Warum wird die MySQL-Paging-Funktion bei Verwendung von Limits immer langsamer?

Inhaltsverzeichnis 1. Testexperiment 2. Leistungs...

WeChat-Applet + ECharts zur Realisierung eines dynamischen Aktualisierungsprozesses

Vorwort Kürzlich stieß ich auf eine Anforderung, ...

Vergleich von mydumper und mysqldump in MySQL

Wenn Sie nur ein paar Tabellen oder eine einzelne...

So reduzieren Sie die Bildgröße mithilfe des mehrstufigen Docker-Builds

In diesem Artikel wird beschrieben, wie Sie die m...

Tiefgreifendes Verständnis von UID und GID in Docker-Containern

Standardmäßig werden Prozesse im Container mit Ro...

Lernen Sie MySQL-Datenbanken in einer Stunde (Zhang Guo)

Inhaltsverzeichnis 1. Datenbankübersicht 1.1 Entw...

So konfigurieren Sie NAS unter Windows Server 2019

Vorwort Dieses Tutorial installiert die neuste Ve...

So erzielen Sie mit Vue3 beispielsweise einen Lupeneffekt

Inhaltsverzeichnis Vorwort 1. Die Bedeutung der K...

Fähigkeiten zur Seiten-Refaktorierung – Javascript, CSS

Über JS, CSS CSS: Stylesheet oben Vermeiden Sie C...

PostgreSQL-Materialisierte Ansichtsprozessanalyse

Dieser Artikel stellt hauptsächlich die Prozessan...

Anwendung der MapState-Idee in Vuex

Inhaltsverzeichnis 1. Kartenmethode 2. Anwendung ...