This article shares with you a small Demo that adds a preview when dragging an element. The effect is as follows: The following is the code implementation, everyone is welcome to copy, paste and comment. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Native JS to implement drag position preview</title> <style> .box { position: absolute; border: 1px dashed black; } #div1 { width: 100px; height: 100px; background: yellow; position: absolute; } </style> <script> window.onload = function () { var oDiv = document.getElementById('div1'); oDiv.onmousedown = function (ev) { var oEvent = ev || event; var disX = oEvent.clientX - oDiv.offsetLeft; var disY = oEvent.clientY - oDiv.offsetTop; //Create a div with a dotted frame var oNewDiv = document.createElement('div'); oNewDiv.className = 'box'; // Subtract the border size to coincide with the original div size 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'; document.body.appendChild(oNewDiv); document.onmousemove = function (ev) { var oEvent = ev || event; oNewDiv.style.left = oEvent.clientX - disX + 'px'; oNewDiv.style.top = oEvent.clientY - disY + 'px'; }; document.onmouseup = function () { document.onmousemove = null; document.onmouseup = null; oDiv.style.left = oNewDiv.style.left; oDiv.style.top = oNewDiv.style.top; //Remove the dotted box document.body.removeChild(oNewDiv); }; }; }; </script> </head> <body> <div id="div1"></div> </body> </html> The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Implementation of docker view container log command
>>: HTML table tag tutorial (19): row tag
The database, like the operating system, is a sha...
Table of contents Preface The role of key The rol...
A recent business involves such a requirement tha...
CSS Viewport units have been around for the past ...
Table of contents Ref and Reactive Ref Reactive T...
First: via text/HTML var txt1="<h1>Tex...
The network configuration of Host Only+NAT mode u...
system: CentOS 7 RPM packages: mysql-community-cl...
Questions about select elements in HTML have been...
This article uses examples to illustrate the prin...
Front-end project packaging Find .env.production ...
Today I found that WordPress could not connect to...
Table of contents 1. Problem Discovery 2. View de...
This article introduces 5 ways to solve the 1px b...
When discussing Web standards, one thing that alwa...