起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4467|回复: 12

[结贴] wex5验证码倒计时

[复制链接]

1

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
发表于 2017-4-8 15:15:31 | 显示全部楼层 |阅读模式
请问注册页获取验证码后倒计时60s怎么弄啊 ,写了一段代码但是提示错误
var wait=60;
            
        function time(o) {
        var btn=this.comp("yanzhengmabtn");  
        if (wait == 0) {  
            btn.set({
                                 "disabled" : true,
                                 "label" : "免费获取验证码"
                                     });
            wait = 60;  
        } else {  
           btn.set({
                                 "disabled" : true,
                                 "label" : wait + "秒后可重新获取'"
                                     });
           
            wait--;  
            setTimeout(function() {time(o)},1000)}  
    }  
  

    Model.prototype.yanzhengmabtnCK = function(){time(this);};
发表于 2017-4-10 10:23:17 | 显示全部楼层
1.如果重复执行一段代码!建议使用setinterval  实现!!
2.在 setinterval  或者 setTimeout  的回调函数中不能直接使用 this.comp 获取组件!
而应该是在外边定义一个变量  比如 var  me= this;  将model对象赋值给一个变量!
在回调中应该使用me.comp('')
获取组件 对象
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
 楼主| 发表于 2017-4-12 17:29:17 | 显示全部楼层
非常感谢 我尝试一下!
回复 支持 反对

使用道具 举报

1

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
 楼主| 发表于 2017-4-15 00:28:30 | 显示全部楼层
liangyongfei 发表于 2017-4-10 10:23
1.如果重复执行一段代码!建议使用setinterval  实现!!
2.在 setinterval  或者 setTimeout  的回调函数 ...

按照您方法改了一下,可以运行了,但出现一个很奇怪的问题,就是第一次可以运行成功,但60s之后重新点击就按钮上面文字会有规律的跳动,再60s之后点击有没什么问题,但再次点击又会跳动,就是奇数次点击可以成功倒计时,偶数次点击就会跳动60s,js代码如下:
Model.prototype.yzmbtn = function(event)
        {
          var a=60;
          var me=this;
          function time()
          {
          var btn=me.comp("yzmbtn");
          if(a==0)
             {
              btn.set({
                   "disabled" :false,
                   "label" : "免费获取验证码"
                 })}
      else
          {
          btn.set({
                   "disabled" : true,
                   "label" : a + "秒后可重新获取"
                   });
                    a--;
                     
                  
          }
      }setInterval(time,1000);
            

        };
回复 支持 反对

使用道具 举报

发表于 2017-4-15 12:43:45 | 显示全部楼层
流星雨0427 发表于 2017-4-15 00:28
按照您方法改了一下,可以运行了,但出现一个很奇怪的问题,就是第一次可以运行成功,但60s之后重新点击 ...

setInterval   是定时调用代码

clearInterval 停止调用 上网搜下用法把

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

84

主题

382

帖子

633

积分

高级会员

Rank: 4

积分
633
发表于 2017-9-25 18:07:06 | 显示全部楼层
流星雨0427 发表于 2017-4-15 00:28
按照您方法改了一下,可以运行了,但出现一个很奇怪的问题,就是第一次可以运行成功,但60s之后重新点击 ...

你好  我用的方法跟你一样,第二次点击获取验证码的时候就会跳动,你是怎么解决的 求指教
回复 支持 反对

使用道具 举报

1

主题

5

帖子

13

积分

新手上路

Rank: 1

积分
13
QQ
发表于 2017-11-2 11:06:41 | 显示全部楼层
流星雨0427 发表于 2017-4-15 00:28
按照您方法改了一下,可以运行了,但出现一个很奇怪的问题,就是第一次可以运行成功,但60s之后重新点击 ...

哈喽,请问下这个跳动怎么解决哇
回复 支持 反对

使用道具 举报

发表于 2017-11-2 11:18:35 | 显示全部楼层
xcl 发表于 2017-9-25 18:07
你好  我用的方法跟你一样,第二次点击获取验证码的时候就会跳动,你是怎么解决的 求指教 ...

能把案例发来吗??本地重现看下效果!找下原因!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

84

主题

382

帖子

633

积分

高级会员

Rank: 4

积分
633
发表于 2017-11-6 17:36:21 | 显示全部楼层
liangyongfei 发表于 2017-11-2 11:18
能把案例发来吗??本地重现看下效果!找下原因!

现在已经可以了  谢谢老师
回复 支持 反对

使用道具 举报

发表于 2017-11-6 18:07:31 | 显示全部楼层
xcl 发表于 2017-11-6 17:36
现在已经可以了  谢谢老师

欢迎分享一下!说明原因!咋回事。咋解决的?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-26 16:57 , Processed in 0.084535 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表