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


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获取元素文档大小、偏移和位置和滚动条位置的方法集合
Jan 12 Javascript
基于jquery的一个图片hover的插件
Apr 24 Javascript
分享27款非常棒的jQuery 表单插件
Mar 28 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 Javascript
详解PHP中pathinfo()函数导致的安全问题
Jan 05 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
Apr 28 Javascript
JavaScript This指向问题详解
Nov 25 Javascript
微信公众号服务器验证Token步骤图解
Dec 30 Javascript
js实现全选和全不选功能
Jul 28 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
php4与php5的区别小结(配置异同)
2011/12/20 PHP
基于php无限分类的深入理解
2013/06/02 PHP
PHP中的use关键字概述
2014/07/23 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python的几种开发工具介绍
2007/03/07 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python中format()函数的简单使用教程
2018/03/14 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
党员自我批评与反省材料
2014/02/10 职场文书
大学计划书范文800字
2014/08/14 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
2015年导购员工作总结
2015/04/25 职场文书
2015年教师国培感言
2015/08/01 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技