JS交互-显示隐藏密码明文

点击一个元素 显示隐藏密码

思路 :

  1. 一个按钮有两个状态,点击一次 切换为文本框(显示密码),再点击一次回到密码框
    2. 利用一个flag变量 初始为0,判断flag值
    为1就切换为文本框(把flag设置为0)
    为0就切换为密码框(把flag设置为1)
<style>
        .box {
            position: relative;
            width: 400px;
            margin: 300px auto;
            border-bottom: 1px solid #ccc;
        }

        .box input {
            width: 100%;
            height: 20px;
            border: 0;
            outline: none;
        }

        .box img {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 2px;
            width: 24px;
        }
    </style>
<body>
    <div class="box">
        <label for="">
            <img src="images/close.png" id="eye" />
        </label>
        <input type="password" placeholder="请输入您的密码" id="pwd" />
    </div>

    <script>
        // 获取元素
        var eye = document.getElementById('eye');
        var pwd = document.getElementById('pwd');
        // 点击一次之后 flag一定要变化
        var flag = 0;  // 定义一个flag 初始为0
        eye.onclick = function () {
            if (flag == 0) {
                pwd.type = 'text';  // 显示密码
                eye.src = 'images/open.png';
                flag = 1;  // 显示密码之后 把 flag 改成1
            } else {
                pwd.type = 'password';
                eye.src = 'images/close.png';
                flag = 0; // 隐藏密码之后 把 flag 改成0
            }
        }
    </script>
</body>

效果如下:
未点击时
JS交互-显示隐藏密码明文_第1张图片
点击时
JS交互-显示隐藏密码明文_第2张图片

你可能感兴趣的:(前端,javascript,交互,前端)