clips 前端 js 倒计时 获取验证码的按钮

 1 <a href="javascript:void(0);" onclick="get_captcha()" class="btn btn-default btn6" id="for_captcha" >获取验证码</a>
 2
 3 <script type="text/javascript">
 4
 5 var url="/get-verify-code?phone_number=";
 6 var i;
 7
 8 function count_down(){
 9       i=i-1;
10       $(‘#for_captcha‘).attr(‘disabled‘,‘disabled‘);
11       $(‘#for_captcha‘).html(‘剩余‘+i+‘秒..‘);
12       if(i<=0){
13       $(‘#for_captcha‘).removeAttr(‘disabled‘,‘disabled‘);
14       $(‘#for_captcha‘).html(‘获取验证码‘);
15                 window.clearTimeout(countdown);
16        }
17        else{
18                 var countdown=setTimeout(‘count_down()‘,1000);
19        }
20 }
21
22 function get_captcha(){
23     var phone= $(‘#phone‘).val();//console.log(phone);
24     url=url+phone;
25
26      re= /^1\d{10}$/;
27      if (re.test(phone)) {
28              $.post(url,function(data){
29                     console.log(date);
30              }).complete(function(){
31                     console.log(‘complete‘);
32              });
33
34              i=60;
35              count_down();
36       }
37       else {
38              alert("手机号码不正确");
39              return false;
40       }
41
42  }
43 </script>

note:

   项目使用了bootstrap,当我写这个脚本的时候,我发现一个很诡异的现象,在点击获取按钮的一瞬间按钮消失了

   firefox和chrome浏览器里都有那么一瞬间,但是只要稍微触碰任意一下页面元素甚至只是在f12换一个元素审查,

一切正常了

   我发现当禁用后的position 变成了relative,而正常情况下一直是static状态 但问题不在这里 原因是bootstrap的预定义样式

  btn btn-default 在一瞬间应用优先权重超过了我定义的 其中一项background-color:white造成了覆盖和按钮消失的错觉,这本是不应发生的。

因为触碰任意页面一个元素,浏览器又会重新计算,从而应用我的定义样式

  暂仍未找到他覆盖我样式的直接原因,目前先用 background-color:#218e23 !important;解决此问题。

时间: 2024-08-23 22:05:03

clips 前端 js 倒计时 获取验证码的按钮的相关文章

javascript 倒计时获取验证码

var wait=60;function reSendCode(id) { var obj = $("#"+id); if (wait == 0) { obj.attr("disabled",false); $('#getcode').removeClass('no-disable').addClass("get-code").attr('disabled',false).val("免费获取验证码"); wait = 60;

重新获取验证码的按钮

很多应用在修改密码或者是更改个人信息时,需要用户输入手机验证码,其间有个等待过程,一般为60秒,等待结束后可以重新点击按钮获取新的验证码,在页面来回跳转之后又可以重新计时,简要做以下整理: 在.h文件中声明计时器 @interface LinViewController : UIViewController @property (strong, nonatomic) UIButton * button; @property (strong, nonatomic) NSTimer * timer;

Angular.js 使用获取验证码按钮实现-倒计时

获取验证码界面效果如图: 需要实现以下逻辑 按钮不可选 --输入电话号码,按钮可选 --点击获取,进入倒计时,按钮不可选 --倒计时结束,回到初识状态 核心代码: var cd = 60; var toDo = function() { cd--; $scope.countDown = "重新获取 " + cd; }; $interval(toDo, 1000, 60); 完整代码: html: <form name="form" class="fo

js倒计时发送验证码按钮

var wait=60; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.value="免费获取验证码"; wait = 60; } else { o.setAttribute("disabled", true); o.value="重新发送(" + wait + ")"; wait--; setTimeout(fun

简单的“获取验证码”的按钮功能实现

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; min-height: 17.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #853e64 }

倒计时获取验证码

演示: 代码: RegisterActivity.java import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.Button; import com.jialianjia.bzw.BaseActivity; import com.jialianjia.bzw.R; import com.jialianjia.bzw.u

倒计时获取验证码、事件代码

-(void)sendSMS{        if(isPhone == YES){          isPhone = NO;        __block int timeout=60; //倒计时时间        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);        dispatch_source_t _timer = dispatch_source_

clips 前端 js 动画 抛物线加入购物车

抛物线加入购物车的特效动画(支持ie7以上,移动端表现良好)    1.引用一个极小的jquery插件库    2.启动 设置 起点 终点 和完成后回调函数 1.插件地址 git-hub上的官方主页 https://github.com/amibug/fly 引入具体文件: (function () { var lastTime = 0; var vendors = ['webkit', 'moz']; for (var x = 0; x < vendors.length && !w

获取验证码倒计时优化 页面刷新实时倒计时

现在很多页面是需要获取验证码的,但是相信很多页面是没有做这样的优化的,比如下面这个场景: 现在访问一个注册页面,页面有一个填写手机号,获取验证码的按钮,点击获取验证码按钮之后,按钮变成灰色,然后是60倒计时效果.在60S内我无法再次点击获取验证码按钮.因为按钮是灰色的,不可点击状态. 但是,如果在倒计时任然进行时我刷新一下页面,一般的页面就会全部刷新,包括倒计时效果也没有了,按钮恢复到这最初可点击状态,这其实是不符合逻辑的.按正常逻辑是,页面任然倒计时,如果我刷新页面,倒计时任然存在,并且按钮不