基于JS实现类似支付宝支付密码输入框


Posted in Javascript onSeptember 02, 2016

本文实现的是一个类似支付宝支付密码的界面,只可以输入数字,且只可以输入6位

首先给大家展示下效果图,如果感觉不错,请参考实现代码。

基于JS实现类似支付宝支付密码输入框

1、样式表

.wrap{
margin: 10px auto;
width: 329px;
height: 640px; 
padding-top: 200px;
}
.inputBoxContainer{
width: 240px;
height: 50px;
margin: 0 auto;
position: relative;
}
.inputBoxContainer .bogusInput{
width: 100%;
height: 100%;
border: #c3c3c3 1px solid;
border-radius: 7px;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
overflow: hidden;
position: absolute;
z-index: 0;
}
.inputBoxContainer .realInput{
width: 100%;
height: 100%;
position: absolute;
top:0;
left: 0;
z-index: 1;
filter:alpha(opacity=0);
-moz-opacity:0;
opacity:0;
}
.inputBoxContainer .bogusInput input{
padding: 0;
width: 16.3%;
height: 100%;
float:left;
background: #ffffff;
text-align: center;
font-size: 20px;
border: none;
border-right: #C3C3C3 1px solid;
}
.inputBoxContainer .bogusInput input:last-child{
border: none;
}
.confirmButton{
width: 240px;
height: 45px;
border-radius: 7px;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
background: #f4f4f4;
border: #d5d5d5 1px solid;
display: block;
font-size: 16px;
margin: 30px auto;
margin-bottom: 20px;
}
.showValue{
width: 240px;
height: 22px;
line-height: 22px;
font-size: 16px;
text-align: center;
margin: 0 auto;
}

2、HTML代码

<div class="wrap">
<div class="inputBoxContainer" id="inputBoxContainer">
<input type="text" class="realInput"/>
<div class="bogusInput">
<input type="password" maxlength="6" disabled/>
<input type="password" maxlength="6" disabled/>
<input type="password" maxlength="6" disabled/>
<input type="password" maxlength="6" disabled/>
<input type="password" maxlength="6" disabled/>
<input type="password" maxlength="6" disabled/>
</div>
</div>
<button id="confirmButton" class="confirmButton">查看</button>
<p class="showValue" id="showValue"></p>
</div>

3、js代码控制逻辑效果

(function(){
var container = document.getElementById("inputBoxContainer");
boxInput = {
maxLength:"",
realInput:"",
bogusInput:"",
bogusInputArr:"",
callback:"",
init:function(fun){
var that = this;
this.callback = fun;
that.realInput = container.children[0];
that.bogusInput = container.children[1];
that.bogusInputArr = that.bogusInput.children;
that.maxLength = that.bogusInputArr[0].getAttribute("maxlength");
that.realInput.oninput = function(){
that.setValue();
}
that.realInput.onpropertychange = function(){
that.setValue();
}
},
setValue:function(){
this.realInput.value = this.realInput.value.replace(/\D/g,"");
console.log(this.realInput.value.replace(/\D/g,""))
var real_str = this.realInput.value;
for(var i = 0 ; i < this.maxLength ; i++){
this.bogusInputArr[i].value = real_str[i]?real_str[i]:"";
}
if(real_str.length >= this.maxLength){
this.realInput.value = real_str.substring(0,6);
this.callback();
}
},
getBoxInputValue:function(){
var realValue = "";
for(var i in this.bogusInputArr){
if(!this.bogusInputArr[i].value){
break;
}
realValue += this.bogusInputArr[i].value;
}
return realValue;
}
}
})()
boxInput.init(function(){
getValue();
});
document.getElementById("confirmButton").onclick = function(){
getValue();
}
function getValue(){
document.getElementById("showValue").innerText = boxInput.getBoxInputValue();
}

以上所述是小编给大家介绍的基于JS实现类似支付宝支付密码输入框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript中URL编码函数代码
Jan 11 Javascript
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
详谈JavaScript内存泄漏
Nov 14 Javascript
jQuery+HTML5实现图片上传前预览效果
Aug 20 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
Dec 04 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
浅谈Vue2.0父子组件间事件派发机制
Jan 08 Javascript
对Angular中单向数据流的深入理解
Mar 31 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 #Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 #Javascript
AngularJs  Understanding Angular Templates
Sep 02 #Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 #Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 #Javascript
AngularJs  E2E Testing 详解
Sep 02 #Javascript
解决node.js安装包失败的几种方法
Sep 02 #Javascript
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
告诉大家什么是JSON
2008/06/10 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
js实现随机8位验证码
2020/07/24 Javascript
js验证密码强度解析
2020/03/18 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
python数据结构之二叉树的建立实例
2014/04/29 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python之时间和日期使用小结
2019/02/14 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
python 从list中随机取值的方法
2020/11/16 Python
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
高中自我鉴定
2013/12/20 职场文书
秘书专业自荐信范文
2013/12/26 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
小学教师节活动总结
2015/03/20 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
政协工作总结2015
2015/05/20 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
高中班主任心得体会
2016/01/07 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
python在package下继续嵌套一个package
2022/04/14 Python