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


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 相关文章推荐
浅析Node.js中的内存泄漏问题
Jun 23 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
Javascript 计算字符串在localStorage中所占字节数
Oct 21 Javascript
AngularJS实现分页显示数据库信息
Jul 01 Javascript
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
javascript实现电脑和手机版样式切换
Nov 10 Javascript
javascript动态创建对象的属性详解
Nov 07 Javascript
详解js实时获取并显示当前时间的方法
May 10 Javascript
Vue.js中的extend绑定节点并显示的方法
Jun 20 Javascript
使用Node.js实现base64和png文件相互转换的方法
Mar 11 Javascript
Vue watch响应数据实现方法解析
Jul 10 Javascript
jQuery treeview树形结构应用
Mar 24 jQuery
微信小程序日期选择器实例代码
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
资料注册后发信小技巧
2006/10/09 PHP
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
PHP SQLite类
2009/05/07 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
js中less常用的方法小结
2017/08/09 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python中对象迭代与反迭代的技巧总结
2016/09/17 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
Pygame的程序开始示例代码
2020/05/07 Python
Python 高效编程技巧分享
2020/09/10 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
中学生校园广播稿
2014/01/16 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
企业精神口号
2014/06/11 职场文书
公司委托书格式
2014/08/01 职场文书
语文复习计划
2015/01/19 职场文书
商务宴会祝酒词
2015/08/11 职场文书
MySQL慢查询优化解决问题
2022/03/17 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL
Mysql 文件配置解析介绍
2022/05/06 MySQL
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android