本文給大家介紹的是一個非常常見的功能,在輸入密碼的時候提示密碼的強度,本文使用jQuery來實現,有需要的小伙伴可以參考下。
如何實現色條隨輸入密碼長度變化效果:
在很多網站注冊頁面都有這樣的功能,當用戶輸入密碼的時候,下面會出現一個色條,色條的長度會跟隨輸入密碼的長度變化,并且色條的顏色也會根據輸入密碼長度的不同有所改變,一般是用來提示密碼強度。下面就簡單介紹一下使用jQuery如何實現此功能。代碼實例如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>武林網</title>
- <style type="text/css">
- .box {
- width: 200px;
- height: 10px;
- border: 1px solid #CCC;
- margin-left: 58px;
- }
- .bg {
- height: 10px;
- }
- </style>
- <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("#mytext").keyup(function(){
- var textMax=20;
- $("#mytext").attr("maxlength",textMax);
- var len=$("#mytext").val().length;
- var boxlen=$(".box").css("width");
- var inputlength=$("#mytext").val().length;
- var bgwidth=(inputlength/textMax)*parseInt(boxlen);
- $(".bg").css("width",bgwidth);
- if(bgwidth<60)
- {
- $(".bg").css("background-color","#F00");
- }
- else if(60<=bgwidth && bgwidth<120)
- {
- $(".bg").css("background-color","#F90");
- }
- else if(bgwidth>=120)
- {
- $(".bg").css("background-color","#6F3");
- }
- })
- })
- </script>
- </head>
- <body>
- <div>用戶名:
- <input type="text" name="username" id="mytext" />
- </div>
- <div class="box">
- <div class="bg"></div>
- </div>
- </body>
- </html>
以上代碼基本實現了我們需要的功能,當在文本框輸入內容的時候,下面的背景條長度和顏色都會跟隨者變化。下面就簡單介紹一下如何實現此效果:
一.這里運用了keyup事件,也就是當輸入文本后,當按鍵松開后就會觸發此事件,以此來實現每當輸入一段文本,相應的背景條長度和顏色就會進行調整。
二.var textMax=20用來定義text文本框最大輸入長度,通過 $("#mytext").attr("maxlength",textMax)設置文本框的maxlength屬性,并且將屬性值設置為textMax。
三.$(".box").css("width")返回box元素的寬度,$("#mytext").val().length返回輸入內容的長度,這樣inputlength/textMax就可以計算出當前輸入元素的長度和和文本框最大輸入長度的比例,這樣用這個比例值乘以box元素的寬度,就可以計算出當前背景條的長度,代碼即是:(inputlength/textMax)*parseInt(boxlen),這里特別要注意parseInt()函數的使用,否則返回值是NaN,因為boxlen值是通過$(".box").css("width")返回的,是個字符串,并且后面帶有"px"單位。
四.if語句通過判斷當前背景條的長度來判斷背景條的顏色。
以上所述就是本文的全部內容了,希望大家能夠喜歡
新聞熱點
疑難解答
圖片精選