JavaScript小案例——登入页面(密码小眼睛)
本篇简单分析用户登入的简单页面,并没有太多交互,但简单运用的js中事件的方法实现了密码框小眼睛的密码隐藏功能。
·
题目:
制作一个简单的登入页面,运用到简单的js技巧,实现密码框中小眼睛的功能。
注意:本篇介绍的案例没有运用到大量的js技巧,和页面渲染,只是简单的页面和交互。例如,输入密码不正确,检测输入栏是否为空等等相关运用后续本人有机会会出一个高阶版,本篇只适用于js初学者,仅供参考学习。
案例分析:
- 核心思路:点击眼睛按钮,把密码框类型改为文本框就可以看见里面的密码。
- 一个按钮两个状态,点击一次,切换文本框,继续点击一次切换密码框。
- 算法:利用一个flag变量,来判断flag的值,如果是1就切换为文本框,否则就换为密码框。
1.先制作页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
position: relative;
width: 400px;
border-bottom: 1px solid #ccc;
margin: 50px auto;
}
.box input {
width: 370px;
height: 30px;
border: 0px;
outline: none;
}
.box img {
position: absolute;
top: 2px;
right: 2px;
width: 24px;
}
h2 {
text-align: center;
color: orange;
}
.but {
width: 400px;
margin: 50px auto;
display: flex;
}
.button{
width: 40%;
margin: 0px 50px 50px 50px ;
}
.but button {
width: 100%;
background-color: orange;
font-weight: 1000;
}
</style>
</head>
<body>
<div>
<h2>登入</h2>
<div class="box">
<label for="">
<input type="text" name="账号" placeholder="用户名">
</label>
</div>
<div class="box">
<label for="">
<img src="images/闭眼.png" alt="" id="eye">
</label>
<input type="password" name="" id="pwd" placeholder="密码">
</div>
<div class="but">
<div class="button"><button type="submit">登入</button></div>
<div class="button" > <button type="submint">注册</button></div>
</div>
</div>
</body>
</html>
2.加入js代码
<script>
//获取元素
var img = document.getElementById('eye');
var pwd = document.getElementById('pwd');
var flag = 0;
//注册事件,处理程序
img.onclick = function () {
//点击一次后,flag一定要发生变化
if (flag == 0) {
pwd.type = 'text';
flag = 1;
img.src = 'images/眼睛-睁眼.png';
} else {
pwd.type = 'password';
flag = 0;
img.src = 'images/闭眼.png';
}
}
</script>
3.最终代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
position: relative;
width: 400px;
border-bottom: 1px solid #ccc;
margin: 50px auto;
}
.box input {
width: 370px;
height: 30px;
border: 0px;
outline: none;
}
.box img {
position: absolute;
top: 2px;
right: 2px;
width: 24px;
}
h2 {
text-align: center;
color: orange;
}
.but {
width: 400px;
margin: 50px auto;
display: flex;
}
.button{
width: 40%;
margin: 0px 50px 50px 50px ;
}
.but button {
width: 100%;
background-color: orange;
font-weight: 1000;
}
</style>
</head>
<body>
<div>
<h2>登入</h2>
<div class="box">
<label for="">
<input type="text" name="账号" placeholder="用户名">
</label>
</div>
<div class="box">
<label for="">
<img src="images/闭眼.png" alt="" id="eye">
</label>
<input type="password" name="" id="pwd" placeholder="密码">
</div>
<div class="but">
<div class="button"><button type="submit">登入</button></div>
<div class="button" > <button type="submint">注册</button></div>
</div>
</div>
<script>
var img = document.getElementById('eye');
var pwd = document.getElementById('pwd');
var flag = 0;
img.onclick = function () {
if (flag == 0) {
pwd.type = 'text';
flag = 1;
img.src = 'images/眼睛-睁眼.png';
} else {
pwd.type = 'password';
flag = 0;
img.src = 'images/闭眼.png';
}
}
</script>
</body>
</html>
4.效果图
更多推荐
已为社区贡献1条内容
所有评论(0)