微信小程序 写一个获取验证码 及setInterval 使用基本方法
<!--index.wxml-->
<view class="container">
<view class="container_content"> <view class="content_time">{{time}}S</view> <view class="content_btn">
<button class="btn_start" bindtap="startTap">开始</button>
<button class="btn_stop" bindtap="stopTap">停止</button>
<button class="btn_restart" bindtap="restartTap">重新开始</button>
</view> </view>
</view>
/**index.wxss**/
.container {
height: 100%;
width: 100%;
padding:;
margin:;
}
.container_content {
height: 100%;
width: 100%;
margin-top:40%;
text-align: center;
} .content_time {
color: forestgreen;
font-size: 50rpx;
} .btn_start {
width: 30%;
text-align: center;
background-color: green;
} .btn_stop {
width: 30%;
text-align: center;
background-color: red;
} .btn_restart {
width: 30%;
text-align: center;
background-color: darkcyan;
}
//index.js
Page({
data: {
time: 60, //初始时间
interval: "" //定时器
},
/**
* 开始倒计时
*/
startTap:function () {
var that = this;
that.init(that); //这步很重要,没有这步,重复点击会出现多个定时器
var time = that.data.time;
console.log("倒计时开始")
var interval = setInterval(function () {
time--;
that.setData({
time: time
})
if (time==0){ //归0时回到60
that.restartTap();
}
},100)
that.setData({
interval:interval
})
},
/**
* 暂停倒计时
*/
stopTap:function () {
var that = this;
console.log("倒计时暂停")
that.clearTimeInterval(that)
},
/**
* 重新倒计时
*/
restartTap:function () {
var that = this;
that.init(that);
console.log("倒计时重新开始")
that.startTap()
},
/**
* 初始化数据
*/
init: function (that) {
var time = 60;
var interval = ""
that.clearTimeInterval(that)
that.setData({
time: time,
interval: interval,
})
},
/**
* 清除interval
* @param that
*/
clearTimeInterval: function (that) {
var interval = that.data.interval;
clearInterval(interval)
},
/**
* 生命周期函数--监听页面卸载
* 退出本页面时停止计时器
*/
onUnload:function () {
var that = this;
that.clearTimeInterval(that)
},
/**
* 生命周期函数--监听页面隐藏
* 在后台运行时停止计时器
*/
onHide:function () {
var that = this;
that.clearTimeInterval(that)
}
})
---------------------
作者:平凡V之路
来源:CSDN
原文:https://blog.csdn.net/qq_36221503/article/details/79732381
版权声明:本文为博主原创文章,转载请附上博文链接!
微信小程序 写一个获取验证码 及setInterval 使用基本方法的更多相关文章
- 微信小程序 功能函数 获取验证码*
yanZhengInput: function (e) { var that = this; var yanzheng = e.detail.value; var huozheng = this.da ...
- 微信小程序 写音乐播放器 slider组件 将value设置为0 真机测试滑块不能回到起点
最近在用微信小程序写一个音频播放页面,做时间进度的时候用到了slider插件,但是在自然播放完成,或者上/下切换的时候,将slider的value属性值设为0,开发工具上滑块会回到起点,有效.但是真机 ...
- 微信小程序之动态获取元素宽高
我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用 ...
- 微信小程序案例:获取微信访问用户的openid
在微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单 具体实现方法是通过登录接口获取登录凭证,然后通过request请求微 ...
- 微信小程序发布一个月,世界并没有什么不同
从某种意义上说,在张小龙身上,最可怕的事情莫过于微信小程序发布一个月,一开始的大红大紫居然渐归沉寂,曾经的风光无限已无人谈起,世界并没有什么不同. 这真像一场噩梦,一切都可怕地颠倒了.一款微信的战略级 ...
- [技术博客] 微信小程序的formid获取
微信小程序的formid获取 formId的触发 微信小程序可以通过收集用户的formid,获取formid给用户主动推送微信消息.获取formid有两个途径,一个是触发一次表单提交,或者触发一次支付 ...
- 让微信小程序每次请求的时候不改变session_id的方法
让微信小程序每次请求的时候不改变session_id的方法 每次微信小程序请求的时候都会改变session id, 还好他的请求方法内可以设置header头 所以只需要在启动程序后第一次请求服务器获得 ...
- 用微信小程序做一个小电商 sku
效果展示图 功能点概述 图一功能点有 搜索 轮播图 商品展示 图二功能点 导航栏 加入购物车 图四功能点 评论点 图五购物车 复选框 ( 全选全不选 ) 即点即改 总计结算 功能详解 1.A(搜索) ...
- uni-app开发经验分享二十: 微信小程序 授权登录 获取详细信息 获取手机号
授权页面 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="bt ...
随机推荐
- 解决fatal error LNK1168的终极方法
很多人的VC++或Visual studio 会出现fatal error LNK1168错误很是头疼,MS也说不清, 什么改权限.用户名.注册表.CMD,卸载杀毒软件...一切都瞎扯,除非reins ...
- Kali Linux配置ssh服务
操作环境: 虚拟机操作系统: Kali Linux 2017.2 虚拟化软件: VMware Workstation 14 pro 虚拟机网络连接方式: 桥接模式 物理机操作系统: Windows10 ...
- Spring Web工程web.xml零配置即使用Java Config + Annotation
摘要: 在Spring 3.0之前,我们工程中常用Bean都是通过XML形式的文件注解的,少了还可以,但是数量多,关系复杂到后期就很难维护了,所以在3.x之后Spring官方推荐使用Java Conf ...
- Nginx安装及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- 传统业务上云:跨AZ容灾架构解析
本文由 网易云发布. 数字化转型浪潮之下,采用云计算服务提升业务敏捷性.降低运维成本,成为了传统企业的优选方案.网易云资深解决方案架构师张亮通过某物流企业客户的实际案例,分享了传统业务系统在云上的架 ...
- 判断系统是64位还是32位的bat方法
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCHITECTURE%& ...
- IntelliJ IDEA 配置maven
以下内容引自http://blog.csdn.net/qq_32588349/article/details/51461182. 使用IntelliJ IDEA 配置Maven(入门) ...
- 【BZOJ 2850】巧克力王国
复习了下KDtree,贴一下新板子233. #include "bits/stdc++.h" using namespace std; inline int read(){ ,k= ...
- AbstractQueuedSynchronizer AQS框架源码剖析
一.引子 Java.util.concurrent包都是Doug Lea写的,来混个眼熟 是的,就是他,提出了JSR166(Java Specification RequestsJava 规范提案), ...
- const和static readonly的区别
我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等. 在多数情况下可以混用.二者本质的区别在于,const的值是在编译期间确定的,因此只能在 ...