鱼C论坛

 找回密码
 立即注册
查看: 2338|回复: 3

[已解决]关于JS定时循环的问题

[复制链接]
发表于 2018-12-24 11:46:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    var num = 60;
    $('#sms').click(function () {
      $('#phone').blur();
      n = 0;
      n += $('#phone').data('s');
      if(n == 1){
          if(num == 0){
              this.removeAttribute("disabled");
              this.value="获取验证码";
              countdown = 60;
              return false;
          }else{

              this.setAttribute("disabled",true);
              this.value = "重新发送("+num+")";
          }}
      else{
          console.log('321')
      }
    });

我想让else这里能够让num一直刷新起来,直到0,按钮恢复成if里的,应该怎么做呢?
最佳答案
2019-1-19 08:18:07
本帖最后由 行客 于 2019-1-19 10:18 编辑

给你个例子,相信你能自己改出来。如果确实弄不成功,请再继续跟帖。
var wait = 60;
function countdown(obj, msg) {
        obj = $(obj);

        if (wait == 0) {
                obj.removeAttr("disabled");
                obj.val(msg);
                wait = 60;
        } else {
                if (msg == undefined || msg == null) {
                        msg = "获取验证码";
                }
                obj.attr("disabled", "disabled");
                obj.val(wait + "秒,重新发送");
                wait--;
                setTimeout(function() {
                        countdown(obj, msg)
                }, 1000)
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-24 13:38:02 | 显示全部楼层
鱼油把完整代码贴一下哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-18 23:34:11 | 显示全部楼层
你是想做发送短信后倒计时60S内不能按按钮吧?用setInterval可以实现,不过这种实现应该不严谨的,毕竟可以越过,还需要后台做配合。弄个缓存之类的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-19 08:18:07 | 显示全部楼层    本楼为最佳答案   
本帖最后由 行客 于 2019-1-19 10:18 编辑

给你个例子,相信你能自己改出来。如果确实弄不成功,请再继续跟帖。
var wait = 60;
function countdown(obj, msg) {
        obj = $(obj);

        if (wait == 0) {
                obj.removeAttr("disabled");
                obj.val(msg);
                wait = 60;
        } else {
                if (msg == undefined || msg == null) {
                        msg = "获取验证码";
                }
                obj.attr("disabled", "disabled");
                obj.val(wait + "秒,重新发送");
                wait--;
                setTimeout(function() {
                        countdown(obj, msg)
                }, 1000)
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-5 11:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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