贴代码之前,我们先讲一下这里我们用到的技术主要有1个。setInterval(),这个方法可以实现倒计时的效果。

css:

.weui_btn_disabled.weui_btn_default {
color: #C9C9C9;
border: 1px solid #C9C9C9;
}

.weui_btn_disabled.weui_btn_default {
  color: #C9C9C9;
}

.weui_btn_plain_primary {
  color: #04BE02;
  border: 1px solid #04BE02;
}

.weui_btn_disabled {
color: rgba(255,255,255,.6);
}

html:

<div class="weui_cell">
<div class="weui_cell_hb">
<label class="weui_label">验证码</label>
</div>
<div class="weui_cell_bd weui_cell_primary">
<input oninput="check_finish()" type="text" placeholder="请输入验证码" class="weui_input <if condition='$vo.is_need eq 1'> is_must</if>" id="code" name="code"/>
</div>
<div class="weui_cell_ft register_code">
<a href="javascript:;" class="weui_btn weui_btn_mini weui_btn_plain_primary" id="get_code_btn" style="display: none;" >发送验证码</a>
</div>
</div>

js:

$('#get_code_btn').click(function(){
var phone = $('#phone').val(); //获取输入的手机号码
if(!$('#get_code_btn').hasClass('weui_btn_default')){ //判断是否有这个class名字
$.Dialog.loading();
var reg_phone = /\d{}/;
if(!reg_phone.test(phone)){ //验证手机是否符合格式
$.Dialog.fail("填写手机号");
return false;
}
$('#get_code_btn').addClass('weui_btn_disabled weui_btn_default');
$('#get_code_btn').removeClass('weui_btn_plain_primary');
$.post(get_code_url,{phone:phone}, //发起请求
function(data){
if(data.result==){
$.Dialog.success("发送成功");
var leftTime = ;
var timer = setInterval(function(){ //倒计时
$('#get_code_btn').text(leftTime+'秒');
leftTime--;
if(leftTime==){ //重新发送
clearInterval(timer);
$('#get_code_btn').removeClass('weui_btn_disabled weui_btn_default').text('重新获取');
$('#get_code_btn').addClass('weui_btn_plain_primary');
}
},);
}else{
$('#get_code_btn').removeClass('weui_btn_disabled weui_btn_default').text('重新获取');
$('#get_code_btn').addClass('weui_btn_plain_primary');
alert(data.msg);
$.Dialog.close();
//$.Dialog.fail(data.msg);
}
}
).error(
function(){ //发送失败
$('#get_code_btn').removeClass('weui_btn_disabled weui_btn_default').text('重新获取');
$('#get_code_btn').addClass('weui_btn_plain_primary');
$.Dialog.fail("系统繁忙");
}
);
}
});

如果大家有更好的方法,大家多多讨论

最新文章

  1. Jsp静态包含和动态包含的区别
  2. 搭建Android开发环境简要步骤
  3. ASP.NET 服务器控件的生命周期
  4. 每天一个linux命令(38):cal 命令
  5. Javascript面向对象编程一:基础篇
  6. iOS开发——高级篇——换肤、静态库
  7. Android SDK安装教程
  8. codeforces 630R Game
  9. Linux必学的60个命令
  10. 发布Activex全过程
  11. Loadrunner性能测试分类详(二)
  12. 短视频 SDK 功能点技术实现方式详解
  13. MPLS LDP随堂笔记2
  14. 传统编程和IoC的对比
  15. Java-IO之PrintStream(打印输出流)
  16. 浅谈 RxAndroid + Retrofit + Databinding
  17. leetcode 678. Valid Parenthesis String
  18. loj.ac:#10024. 「一本通 1.3 练习 3」质数方阵
  19. 深入理解Redis内存模型
  20. which命令和bin目录

热门文章

  1. 转:Java中的String,StringBuilder,StringBuffer三者的区别
  2. SQL INNER JOIN 关键字
  3. 选择数据库管理系统(DBMS)时主要考虑的因素
  4. https验证证书的三个级别
  5. [Android] ScrollView can host only one direct child
  6. UVA12545-Bits Equalizer(思维)
  7. 如何征服面试官,拿到Offer [转]
  8. C#中webbrowser与javascript(js)交互的方法
  9. 深入理解 Node.js 中 EventEmitter源码分析(3.0.0版本)
  10. Vue bus的使用(兄弟|非父子组件传值)--&gt;可以使用一个空的Vue实例作为中央事件总线new Vue()