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


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 相关文章推荐
jQuery 注意事项 与原因分析
Apr 24 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
JavaScript控制Session操作方法
Jan 17 Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
jQuery oLoader实现的加载图片和页面效果
Mar 14 Javascript
基于JavaScript代码实现pc与手机之间的跳转
Dec 23 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
js实现右键自定义菜单
Dec 03 Javascript
解决vue-router 二级导航默认选中某一选项的问题
Nov 01 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
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
Vue表单实例代码
2016/09/05 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
从零学Python之入门(二)基本数据类型
2014/05/25 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
不拖欠农民工工资承诺书
2014/03/31 职场文书
党的生日演讲稿
2014/09/10 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
高三毕业评语
2014/12/31 职场文书
中秋节晚会开场白
2015/05/29 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers