• 原生JS实现的登陆框拖曳效果


    JS,HTML代码如下:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<link rel="stylesheet" type="text/css" href="css/style02.css" />
    	</head>
    	<body>
    		<header>
    			<span id="login">登陆</span>
    		</header>
    		<div class="login-modal hide">
    			<div class="login">
    				<h1>登陆</h1>
    				<span class="close">X</span>
    				<div class="input_ group">
    					<div class="input_item">
    						<input type="text" placeholder="请输入手机号或邮箱">
    					</div>
    					<div class="input_item">
    						<input type="password" placeholder="请输入密码">
    					</div>
    				</div>
    				<button type="button" class="btn submit-btn">登陆</button>
    			</div>
    		</div>
    		<script>
    			var loginLink = document.querySelector('#login');
    			var closeDiv = document.querySelector('.close');
    			var loginModal = document.querySelector('.login-modal');
    			var hiDiv = document.querySelector('h1');
    			var loginDiv = document.querySelector('.login');
    
    			loginLink.onclick = function() {
    				loginModal.classList.remove('hide');
    			}
    			closeDiv.onclick = function() {
    				loginModal.classList.add('hide');
    			}
    			hiDiv.onmousedown=function(e){
    				var dx = e.clientX-loginDiv.offsetLeft;
    				var dy = e.clientY-loginDiv.offsetTop;
    				// console.log(dx,dy);
    				document.onmousemove = function(e){
    					var x = e.clientX-dx;
    					var y = e.clientY-dy;
    					
    					loginDiv.style.left = x + 'px';
    					loginDiv.style.top = y + 'px';
    			}}
    			document.onmouseup= function(){
    				document.onmousemove=null;
    			}
    		</script>
    	</body>
    </html>
    
    

    CSS代码:

    *{
    	padding: 0;
    	margin: 0;
    }
    header{
    	text-align: center;
    }
    #login{
    	font-size: 24px;
    	color: #00FFFF;
    	text-decoration: underline;
    	cursor: pointer;
    }
    .login-modal{
    	position: absolute;
    	top: 0;
    	bottom: 0;
    	left: 0;
    	right: 0;
    	background: rgba(0,0,0,0.3);
    	display: flex;
    	justify-content: center;
    	align-items: center;
    }
    .hide{
    	display: none;
    }
    .login{
    	position: absolute;
    	 350px;
    	height: 280px;
    	background: url(../img/tab/tab01.jpg) center;
    	padding: 20px;
    	box-sizing: border-box;
    	box-shadow: 0 0 15px #ddd;
    }
    .login h1{
    	font-size: 18px;
    	margin-bottom: 20px;
    	cursor: pointer;
    }
    .login .close{
    	position: absolute;
    	font-size: 18px;
    	top: 20px;
    	right: 20px;
    	cursor: pointer;	
    }
    .input_item input{
    	box-sizing: border-box;
    	height: 35px;
    	 100%;
    	padding-left: 10px;
    	border: 1px solid #eee;
    	margin-top: 10px;
    }
    .btn{
    	 100%;
    	height: 35px;
    	text-align: center;
    	border: none;
    	background-color: skyblue;
    	font-size: 16px;
    	color: white;
    	margin-top: 20px;
    	border-radius: 2px;
    }
    

    效果图:

  • 相关阅读:
    common daemon
    java和 javaw 以及 javaws的区别
    Windows 64位环境的Java 服务配置
    Java Service Wrapper
    使用exe4j把java程序生成可执行的.exe文件
    Oracle安装
    Oracle 排序问题(null带来的)
    剖析简易计算器带你入门微信小程序开发
    实战SpringMVC+Mybatis搭建高性能安全站点
    SpringMVC利用拦截器防止SQL注入
  • 原文地址:https://www.cnblogs.com/HelloBytes/p/13090760.html
Copyright © 2020-2023  润新知