微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能

本文介绍了在微信小程序及Web端实现验证码倒计时功能的方法。通过JavaScript代码控制按钮状态和显示倒计时,实现验证码获取后的倒计时重新发送功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.jb51.net/article/121336.htm

1、效果图: 

2、页面仅仅利用了JS的相关功能,包含:wxml、js、wxss 

2.1wxml页面代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
< text >绑定手机</ text >
< form bindsubmit = "bindMobile" >
< view class = "form_group" >
     < text >手 机:</ text >
     < input type = "number" placeholder = "请输入手机号" maxlength = "11" name = "data_phone" value = "" auto-focus = "true" bindblur = "blur_mobile" />
     < button type = "button" class = "{{is_show?'show':'hide'}}" bindtap = "clickVerify" >获取验证码</ button >
     < button type = "button" class = "{{is_show?'hide':'show'}}" >重新发送{{last_time}}秒</ button >
   </ view >
 
< input type = "number" placeholder = "请输入验证码" maxlength = "6" name = "data_verify" value = "" />
< button class = "save_btn" form-type = "submit" >确认绑定</ button >
</ form >

2.2 js页面代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var countdown = 60;
var settime = function (that) {
  if (countdown == 0) {
   that.setData({
    is_show: true
   })
   countdown = 60;
   return ;
  } else {
   that.setData({
    is_show: false ,
    last_time:countdown
   })
 
   countdown--;
  }
  setTimeout( function () {
   settime(that)
  }
   , 1000)
}
 
Page({
  /**
   * 页面的初始数据
   */
  data: {
   last_time: '' ,
   is_show: true
  },
 
  clickVerify: function (){
   var that = this ;
  // 将获取验证码按钮隐藏60s,60s后再次显示
    that.setData({
     is_show: (!that.data.is_show)  //false
    })
    settime(that);
  }
 
 
})

2.3 wxss页面代码:

?
1
2
3
4
5
6
7
/* 发送验证码按钮隐藏,并展示倒数60s提示 */
. hide {
  display : none ;
}
. show {
  display : block ;
}

3、上面讲的是微信小程序的,那么我们一般web端或者移动端的应该是什么样呢?

其实,方法都差不多,这里也贴出来仅供大家参考

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- 这段代码(html)是从脚本之家挪过来的,信誉度应该是很高的,大家可以放心使用 -->
 
< script type = "text/javascript" >
var countdown=60;
function settime(obj) {
if (countdown == 0) {
obj.removeAttribute("disabled");
obj.value="免费获取验证码";
countdown = 60;
return;
} else {
obj.setAttribute("disabled", true);
obj.value="重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
</ script >
< body >
< input type = "button" id = "btn" value = "免费获取验证码" onclick = "settime(this)" />
</ body >
</ html >



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值