1 UmsetzungsprinzipDies geschieht mithilfe der Ereignisse dragstart/ondragover/ondrop des DOM-Elements. Das gezogene Element wird abgerufen, wenn das Ziehen beginnt, und dann wird das Ziehen zugelassen. Schließlich wird die Maus angehoben und an der neuen Position abgelegt. Hier wird die Methode event.preventDefault() verwendet. Viele Leute sind möglicherweise verwirrt. Hier ist eine kurze Einführung event.preventDefault(): Diese Methode verhindert, dass der Browser die mit dem Ereignis verknüpfte Standardaktion ausführt. Wir verwenden es im Dragover-Ereignis, da die mit Dragover verknüpfte Standardaktion darin besteht, zu verhindern, dass Daten oder Elemente in anderen Elementen platziert werden. Daher müssen wir das Standardereignis über event.preventDefault() verhindern, damit wir das Ziehen des Elements an eine neue Position zulassen können. <!-- Ziehen Sie das Div, um die Reihenfolge zu ändern. Gilt für das Umschalten der Ebenenreihenfolge in GIS --> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <Kopf> <meta http-equiv="Inhaltstyp" content="text/html; charset=utf-8" /> <Titel></Titel> <style type="text/css"> Körper{ Anzeige: Flex; Polsterung: 100px; Flex-Richtung: Spalte; } div{ Breite: 100px; Höhe: 100px; Textausrichtung: zentriert; } </Stil> </Kopf> <Text> <div style="Hintergrundfarbe: rot;Breite:200px;Höhe:200px;" draggable="true">Rot</div> <div style="background-color: green;width:100px" draggable="true">Grün</div> <div style="background-color: blue;" draggable="true">Blau</div> </body> <Skripttyp="text/javascript"> let div = document.getElementsByTagName("div"); lass Container = null; // Dragstart-, Dragover- und Drop-Ereignisse durchlaufen und an jedes Div binden for(let i=0;i<div.length;i++){ div[i].ondragstart=Funktion(){ Container=dies } div[i].ondragover=Funktion(){ event.preventDefault(); } div[i].ondrop=Funktion(){ Debugger; wenn(Container!=null&&Container!=dies){ // Die konkrete Idee ist die gleiche wie beim Austausch von Variablenwerten let temp=document.createElement("div"); document.body.replaceChild(temp,this); //Verwende das neu erstellte Div, um die Zielposition einzunehmendocument.body.replaceChild(this,container); //Das Ziel-Div wird an der Startposition platziertdocument.body.replaceChild(container,temp) //Das Start-Div wird an der Zielposition platziertdebugger; console.log('Geschäftslogik ausführen') } } } </Skript> </html> Dies ist das Ende dieses Artikels über das Implementierungsbeispiel zum Ziehen und Tauschen von Div-Positionen in JavaScript. Weitere relevante Inhalte zum Ziehen und Tauschen von Div-Positionen in JavaScript finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung, wie MySQL Phantom-Lesevorgänge löst
>>: Detaillierte Erläuterung der Nginx-Rewrite-Jump-Anwendungsszenarien
Wenn wir eine Single-Page-Anwendung entwickeln, m...
Inhaltsverzeichnis Benutzerdefiniertes Docker-Net...
Inhaltsverzeichnis 1. E-Mail 2. Mobiltelefonnumme...
Vor kurzem habe ich vor, eine Cloud-Festplatte au...
Jeden Tag ein jQuery-Plugin - Schritt-Fortschritt...
1. Verwenden Sie immer :key in v-for Die Verwendu...
Zurück: Markup Language - Phrasenelemente Original...
Kürzlich habe ich auf der Grover-Website eine lus...
Ich habe das System vor einiger Zeit neu installi...
Umfeld Host-IP 192.168.0.9 Docker-Version 19.03.2...
Inhaltsverzeichnis Einführung in NIS Netzwerkumge...
Auf Mobilgeräten ist das Flex-Layout sehr nützlic...
Methode 1: Installieren Sie das Plugin über npm 1...
Vorwort Dies ist eine alte Forderung, aber es gib...
Erster Blick auf die Wirkung: Vorwort: Auf diese ...