zoukankan      html  css  js  c++  java
  • 发送短信验证(防刷新)

    
    
    //防止页面刷新倒计时失效
    function monitor(obj) {
    var LocalDelay = getLocalDelay();
    var timeLine = parseInt((new Date().getTime() - LocalDelay.time) / 1000);
    if (timeLine > LocalDelay.delay) {
    console.log("过期");
    } else {
    _delay = LocalDelay.delay - timeLine;
    obj.text(_delay+'s').addClass("btn-disabled").removeClass('send-btn');
    var timer = setInterval(function() {
    if (_delay > 1) {
    _delay--;
    obj.text(_delay+'s');
    setLocalDelay(_delay);
    } else {
    clearInterval(timer);
    obj.text("发送验证码").removeClass("btn-disabled").addClass('send-btn');
    }
    }, 1000);
    }
    };
    //倒计时效果
    /**
    * @param {Object} obj 获取验证码按钮
    * @param {Function} callback 获取验证码接口函数
    */
    function countDown(obj, callback) {
    if (obj.text() == "发送验证码") {
    var _delay = 60;
    var delay = _delay;
    // 按钮禁用
    obj.text(_delay+'s').addClass("btn-disabled").removeClass('send-btn');
    var timer = setInterval(function() {
    if (delay > 1) {
    delay--;
    obj.text(delay+'s');
    setLocalDelay(delay);
    } else {
    clearInterval(timer);
    // 恢复按钮禁用状态
    obj.text("发送验证码").removeClass("btn-disabled").addClass('send-btn');
    }
    }, 1000);

    callback();
    } else {
    return false;
    }
    }
    //设置setLocalDelay
    function setLocalDelay(delay) {
    //location.href作为页面的唯一标识,可能一个项目中会有很多页面需要获取验证码。
    localStorage.setItem("delay_" + location.href, delay);
    localStorage.setItem("time_" + location.href, new Date().getTime());
    }
    //getLocalDelay()
    function getLocalDelay() {
    var LocalDelay = {};
    LocalDelay.delay = localStorage.getItem("delay_" + location.href);
    LocalDelay.time = localStorage.getItem("time_" + location.href);
    return LocalDelay;
    }

    //****************************获取验证码的 点击事件*************************************
    //***********************************************************************************
    var btn = document.getElementById("getCode");
    //调用监听
    monitor($(btn));
    //点击click

    btn.onclick = function() {
    //倒计时效果 getCode回调函数 获取验证码api
    countDown($(btn), getCode);
    };

    function getCode() {
    $.get("", function(data) {
    if (data.state ==0) {

    } else {

    }
    });
    }
     
  • 相关阅读:
    058:表关系之一对一
    057:表关系之一对多
    056:ORM外键删除操作详解
    055:ORM外键使用详解
    054:Meta类中常见配置
    053:Field的常用参数详解:
    052:ORM常用Field详解(3)
    051:ORM常用Field详解(2)
    C#中在WebClient中使用post发送数据实现方法
    C# WebClient类上传和下载文件
  • 原文地址:https://www.cnblogs.com/duanyue/p/6945269.html
Copyright © 2011-2022 走看看