This article shares the specific code of JavaScript to achieve a simple drag effect for your reference. The specific content is as follows 1. Build the scaffolding first: * { margin: 0; padding: 0; } p { background: skyblue; text-align: center; } html, body { width: 100%; height: 100%; } .mask { width: 100%; height: 100%; position: fixed; left: 0; top: 0; background: rgba(0, 0, 0, .5); display: none; } .login { width: 400px; height: 300px; background: purple; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none; cursor: move; } .login>span { display: inline-block; width: 50px; height: 50px; background: red; position: absolute; top: 0; right: 0; } <p>I am a p tag</p> <a href="http://www.baidu.com" >Official website</a> <div class="mask"></div> <div class="login"> <span></span> </div> 2. Logical part //1. Get the element to be operated const oP = document.querySelector("p"); const oMask = document.querySelector(".mask"); const oLogin = document.querySelector(".login"); const oClose = oLogin.querySelector(".login>span"); // console.log(oClose); //2. Listen for click events oP.onclick = function() { oMask.style.display = "block"; oLogin.style.display = "block"; }; oClose.onclick = function() { oMask.style.display = "none"; oLogin.style.display = "none"; }; //3. Listen for the press and move events of the login box oLogin.onmousedown = function(e) { e = e || e.window; //1. Calculate the fixed distance const x = e.pageX - oLogin.offsetLeft; const y = e.pageY - oLogin.offsetTop; // console.log(x); //2. Listen for mobile events oLogin.onmousemove = function(e) { e = e || e.window; //3. Calculate the offset after moving let offsetX = e.pageX - x; let offsetY = e.pageY - y; //4. Reset the position of the login box oLogin.style.left = offsetX + 'px'; oLogin.style.top = offsetY + 'px'; }; }; oLogin.onmouseup = function() { oLogin.onmousemove = null; }; 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:
|
<<: HTML code that can make IE freeze
>>: Teach you to connect to MySQL database using eclipse
mysql between boundary range The range of between...
This article example shares the specific code of ...
This article describes how to export and import ....
Use runlike to view the docker run startup parame...
Brief Tutorial This is a CSS3 color progress bar ...
Debug branch During the normal development of a p...
Preface In a previous project, the CASE WHEN sort...
Think big and small, then redirect. Sometimes Lin...
When it comes to remote desktop connection to Lin...
Table of contents 1. Reverse the numbers 2. Get t...
When making a web page, we usually need to consid...
1. Basic Concepts 1. Sitemesh is a page decoratio...
Need to export the fields and properties of the t...
History of HTML development: HTML means Hypertext...
Preface The writing of front-end code can never e...