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


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 相关文章推荐
插件:检测javascript的内存泄漏
Mar 04 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
Nov 07 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
Mar 04 Javascript
jQuery实现转动随机数抽奖效果的方法
May 21 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
Aug 13 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
JS生成某个范围的随机数【四种情况详解】
Apr 20 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
Angular2使用Augury来调试Angular2程序
May 21 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
TypeScript中使用getElementXXX()的示例代码
Sep 12 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
php实现RSA加密类实例
2015/03/26 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
项目实践之javascript技巧
2007/12/06 Javascript
常用DOM整理
2015/06/16 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
Python中下划线的使用方法
2015/03/27 Python
Python中用Spark模块的使用教程
2015/04/13 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python3爬虫学习入门教程
2018/12/11 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
美术师范毕业生自荐信
2013/11/16 职场文书
在校学生职业规划范文
2014/01/08 职场文书
《学棋》教后反思
2014/04/14 职场文书
北京奥运会口号
2014/06/21 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers