基于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 document.images实例
May 27 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
Jun 14 Javascript
js局部刷新页面时间具体实现
Jul 04 Javascript
使用jquery写个更改表格行顺序的小功能
Apr 29 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
jQuery无缝轮播图代码
Dec 22 Javascript
jquery easyui DataGrid简单示例
Jan 23 Javascript
Express框架之connect-flash详解
May 31 Javascript
详解react-native-fs插件的使用以及遇到的坑
Sep 12 Javascript
JS ES6异步解决方案
Apr 29 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教程 预定义变量
2009/10/23 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
IE和Firefox下event事件杂谈
2009/12/18 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
extjs render 用法介绍
2013/09/11 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
Python代码需要缩进吗
2020/07/01 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
升职自我推荐信范文
2015/03/25 职场文书
python神经网络Xception模型
2022/05/06 Python