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


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编程起步(第二课)
Jan 10 Javascript
javascript简单事件处理和with用法介绍
Sep 16 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
Apr 08 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
js实现下一页页码效果
Mar 07 Javascript
JavaScript引用类型Array实例分析
Jul 24 Javascript
详解处理Vue单页面应用SEO的另一种思路
Nov 09 Javascript
vue-cli3跨域配置的简单方法
Sep 06 Javascript
layer提示框添加多个按钮选择的实例
Sep 12 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 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用GD库生成高质量的缩略图片
2011/03/09 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
一些mootools的学习资源
2010/02/07 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python设计模式之MVC模式简单示例
2018/01/10 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
转让协议书范本
2014/04/15 职场文书
科技活动周标语
2014/10/08 职场文书
教育实习指导教师评语
2014/12/31 职场文书
工作检讨书怎么写
2015/01/23 职场文书
告知书格式
2015/07/01 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
JavaScript实例 ODO List分析
2022/01/22 Javascript