ウェブサイトのセキュリティのため、多くの友人がパスワードを複雑に設定していますが、パスワードが明確に表示されず、入力が正しいか間違っているかわかりません。と表示できるので、jsコードをベースに実装するにはどうすればよいでしょうか? ユーザーが入力すると、パスワードがドットまたはアスタリスクとして表示されます。ユーザーは、ボタンをクリックしてプログラムの効果を確認します。
インターフェイス構造、外側のパスボックス、次に入力と i タグを内側の層に追加し、対応するクラス名をそれらに追加します。
<div class="pass-box"> <input type="password" name="pass" /> <i state="off"></i> </div>
ここで、対応する属性値を対応するクラスに追加します。このボックスでは、i が入力の上にある必要があるため、i に位置属性を与え、その上と右を調整する必要があります。と高さ、背景画像を設定します。
.pass-box { width: 300px; margin: 30px auto; position: relative; } .pass-box input { border: #cccccc 1px solid; background-color: #fff; color: #666; padding: 10px; width: 100%; box-sizing: border-box; } .pass-box i{ display: inline-block; width: 30px; height: 30px; position: absolute; right: 5px; top:5px; background-image: none; background-size: 200% 200%; background-position: center; }
このようにして、インターフェイスの効果が完成します。次に、HTML 構造で i にクリック イベントを追加します。この関数は、主にユーザーの 2 回のクリックの効果を判定するために使用されます。をクリックすると、パスワードが表示されます。2 回目は、パスワードが非表示になります。そのため、この状態を使用してステータスを確認します。
入力のtype属性を変更するのがポイントで、表示する場合はタイプ、非表示にする場合はパスワードとなるため、JSのロジック処理も比較的明確です。
var ele_pass_box = document.getElementsByTagName("div")[0]; var ele_pass = ele_pass_box.getElementsByTagName("input")[0]; var ele_eye = ele_pass_box.getElementsByTagName("i")[0]; ele_eye.onclick = function () { var state = this.getAttribute("state"); if(state === "off") { ele_pass.setAttribute("type", "text"); ele_eye.setAttribute("state", "on"); ele_eye.style.opacity = 0.2; } else { ele_pass.setAttribute("type", "password"); ele_eye.setAttribute("state", "off"); ele_eye.style.opacity = 1; } }
上記は、JavaScript に基づいてフォームのパスワードを非表示または表示するために編集者が共有した内容全体です。皆さんのお役に立てば幸いです。