本文给大家介绍的是一个非常常见的功能,在输入密码的时候提示密码的强度,本文使用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语句通过判断当前背景条的长度来判断背景条的颜色。
以上所述就是本文的全部内容了,希望大家能够喜欢
新闻热点
疑难解答
图片精选