1. 程式人生 > 其它 >拖動登入框 HTML+CSS+js

拖動登入框 HTML+CSS+js

技術標籤:筆記javascriptcsshtml

先上效果

在這裡插入圖片描述

程式碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>拖動登入框</title>
    <Style>
* { margin: 0px; padding: 0px; } a { color: black; text-decoration: none; } .one { width: 100%; text-align: center; height: 30px; font-size: 24px; line-height
: 30px; } .login { display: none; position: fixed; width: 512px; height: 280px; border: #ebebeb solid 1px; left: 50%; top: 50%; background: #ffffff; box-shadow: 0px 0px 20px #ddd; z-index
: 999; transform: translate(-50%,-50%); } .title { position: relative; height: 40px; width: 100%; line-height: 40px; font-size: 18px; text-align: center; cursor: move; } .title a{ position: absolute; font-size: 12px; top: -15px; right: -15px; width: 30px; height: 30px; border: 1px solid #666; border-radius: 15px; text-align: center; line-height: 30px; background-color: white; } .con { margin-top: 20px; } .login-input input { float: left; line-height: 35px; height: 35px; width: 350px; border: #ebebeb solid 1px; text-indent: 5px; } .login-input { overflow: hidden; margin: 0px 0px 20px 0px; } .login-input label { float: left; width: 90px; padding-right: 10px; text-align: right; line-height: 35px; height: 35px; font-size: 14px; } .bg { display: none; width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; background: rgba(0, 0, 0, .3); } .button a { display: block; } .button { width: 50%; margin: 30px auto 0px auto; line-height: 40px; font-size: 14px; border: #ebebeb 1px solid; text-align: center; }
</Style> </head> <body> <div class="one"><a href="javascript:;">點選,彈出登入框</a></div> <div class="login"> <div class="title">登入會員 <span><a href="javascript:;" id="close">關閉</a></span> </div> <div class="con"> <div class="login-input"> <label>使用者名稱:</label> <input type="text" placeholder="請輸入使用者名稱" name="" id="name"> </div> <div class="login-input"> <label>登入密碼:</label> <input type="text" placeholder="請輸入登入密碼" name="" id="code"> </div> <div class="button"> <a href="javascript:;">登入會員</a> </div> </div> </div> <div class="bg"></div> <script> var one = document.querySelector('.one'); var login = document.querySelector('.login'); var bg = document.querySelector('.bg'); //點選彈出背景和登入框 one.addEventListener('click',function(){ login.style.display = 'block'; bg.style.display = 'block'; }) //點選關閉,隱藏背景和登入框 var close = document.querySelector('#close'); close.addEventListener('click',function(){ login.style.display = 'none'; bg.style.display = 'none'; }) var title = document.querySelector('.title'); //拖拽事件 title.addEventListener('mousedown',function(e){ //滑鼠按下時,獲取滑鼠在盒子內的座標 var x = e.pageX - login.offsetLeft; var y = e.pageY - login.offsetTop; console.log(x); console.log(y); //滑鼠移動時,把滑鼠在頁面中的座標減去滑鼠在盒子內的座標就是left和top值 document.addEventListener('mousemove',move); function move(e){ login.style.left = e.pageX - x +'px';//返回值不帶單位 login.style.top = e.pageY - y + 'px'; } //滑鼠彈起,事件移除 document.addEventListener('mouseup',function(){ document.removeEventListener('mousemove',move); }) }) </script> </body> </html>