jq-发送短信倒计时插件

该代码段展示了如何使用JavaScript实现短信验证码的发送功能,包括通过AJAX请求获取验证码,成功后启动倒计时以及重新发送的逻辑。当用户点击按钮后,会检查手机号格式,然后发送请求到指定接口,如果请求成功则启动60秒的倒计时,否则显示错误信息。
摘要由CSDN通过智能技术生成

短信验证码初始化

$.getScript('javascript/pages/send_msg_code.js', function() {
        /**checkMsgCodeBtn为发送验证码上的id*/
        $("#checkMsgCodeBtn").sendMsgCodeFun({
          url:'json/ct_act_volunteer_detail.json'/*验证码获取接口地址*/
        });
      });

发送短信组件

$.fn.sendMsgCodeFun=function(options){
  var defaults={
    phoneId:'telPhone', /**手机号输入框上的id*/
    count:60,
    url:'',
    callback:null,
    params:{}
  },
  opts=$.extend(defaults,options);
  var _self=$(this);
  var timer,curCount;
  $(this).on('tap',function(){
    if(!checkForm.checkPhone(opts.phoneId,true)) {
      return;
    }else{
      if (!_self.hasClass("disabled")) {
        $.ajax({
          type:"POST",
          url:opts.url,
          data:{telphone:$("#"+opts.phoneId).val()},
          dataType:"json",
          success:function(data){
            if (data.status=='1') {//成功
              sendMessage();
              } else { //失败
                alert(data.msg);
              }
          },
          error:function() {
            alert('验证码获取失败,请重新获取!');
          }
        });
      };
    };
  });
  var sendMessage=function() {
    curCount = opts.count;
    _self.addClass("disabled");
    _self.html("重新获取(" + curCount + ")");
    timer = window.setInterval(SetRemainTime, 1000);
  }
  var SetRemainTime=function() {
    if (curCount == 0) {
      window.clearInterval(timer);
      _self.removeClass("disabled");
      _self.html("重新发送");
    } else {
      curCount--;
      _self.html("重新获取(" + curCount + ")");
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值