微信小程序项目实践之验证码倒计时功能


Posted in Javascript onJuly 18, 2018

效果如下:点击发送验证码按钮,按钮背景变色,不可点击,显示倒计时文字

微信小程序项目实践之验证码倒计时功能

首先js文件的data里面 声明一个变量用于表示当前是否可以点击,codeIsCanClick = true,  默认是可以点击的

写下界面代码:

wxml文件中

<view class='centerRow'>
 <view class='inputLabel'>动态码:</view>
 <input class='inputStyle' style="flex:1 " bindinput="bindKeyInput" placeholder="短信动态码" adjust-position='false'  confirm-type='search'></input>
 <button class="emailCode" hidden='{{!codeIsCanClick}}' size="mini" bindtap='clickCode'>获取动态码</button>
 <button class="emailCodeSend" hidden='{{codeIsCanClick}}' size="mini">{{last_time}}秒后重新发送</button>
</view>

 

对应样式 wxss文件:

.centerRow{
 display: flex;
 flex-direction: row;
 align-items: center;
 height: 44px;
 padding-left: 16px;
 padding-right: 16px;
 border-bottom: 1rpx solid #D9D9D9;
 border-top: 1rpx solid #D9D9D9;
}
.inputStyle{
 border-radius:4px;
 color:#D9D9D9;
 outline:0;
 padding-left: 4px;
 margin-left: 4px;
 margin-right: 20rpx;
 font-size: 14px;
}
.inputLabel{
 font-size: 16px;
 color: #33496D;
 width: 90px;
}
.emailCode{
 width: 118px;
 height: 28px;
 align-items: center;
 justify-content: center;
 display: flex;
 flex-direction: row;
 color:white;
 font-size: 14px;
 background-color: #50A2EC;
 border-radius: 14px;
}
.emailCodeSend{
 width: 118px;
 height: 28px;
 align-items: center;
 justify-content: center;
 display: flex;
 flex-direction: row;
 color:white;
 font-size: 14px;
 background-color: #B9DAF7;
 border-radius: 14px;
}

以上构成页面静态效果。

注意button有两个,分别对应的未点击和点击下的按钮样子,用js中的CodeIsCanClick控制显示隐藏

然后在js中写逻辑代码:

// 倒计时事件 单位s
var countdown = 10;
var settime = function (that) {
 if (countdown == 0) {
 that.setData({
  codeIsCanClick: true
 })
 countdown = 10;
 return;
 } else {
 that.setData({
  codeIsCanClick: false,
  last_time: countdown
 })
 countdown--;
 }
 setTimeout(function () {
 settime(that)
 }, 1000
 )
}
Page({
 /**
 * 页面的初始数据
 */
 data: {
 codeIsCanClick: true
 },
 /**
 * 点击验证码按钮
 */
 clickCode: function () {
 var that = this;
 settime(that)
 },

总结

以上所述是小编给大家介绍的微信小程序项目实践之验证码倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
JavaScript操作选择对象的简单实例
May 16 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
Angular之指令Directive用法详解
Mar 01 Javascript
Bootstrap媒体对象学习使用
Mar 07 Javascript
Vue异步组件使用详解
Apr 08 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
vue与TypeScript集成配置最简教程(推荐)
Oct 17 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
微信小程序日期选择器实例代码
Jul 18 #Javascript
JavaScript实现的反序列化json字符串操作示例
Jul 18 #Javascript
Angularjs实现多图片上传预览功能
Jul 18 #Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 #Javascript
微信小程序scroll-x失效的完美解决方法
Jul 18 #Javascript
详解easyui基于 layui.laydate日期扩展组件
Jul 18 #Javascript
Vue无限滑动周选择日期的组件的示例代码
Jul 18 #Javascript
You might like
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
浅谈PHP接收POST数据方式
2015/06/05 PHP
php实现源代码加密的方法
2015/07/11 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
理解javascript正则表达式
2016/03/08 Javascript
js中new一个对象的过程
2017/02/20 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python实现的选择排序算法示例
2017/11/29 Python
python3大文件解压和基本操作
2017/12/15 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
在python中实现对list求和及求积
2018/11/14 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
python匿名函数的使用方法解析
2019/10/10 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
开朗女孩的自我评价
2014/02/10 职场文书
英语系毕业生求职信
2014/07/13 职场文书
实施意见格式范本
2015/06/05 职场文书
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS