HTML5使用localStorage实现获取验证码保存倒计时时间

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://cdn.bootcss.com/jquery/3.1.0/jquery.js"></script></head>
<body>
<button id="btn_click">获取验证码</button>


<script>
    $(function(){
        //加载刷新事件
        load($("#btn_click"));
        //点击事件
        $("#btn_click").click(function(){
            time($(this));
        })
    })

    function time(obj) {
        var wait=60;
        setLocalDelay(wait);
        if(wait==0){
            obj.attr("disabled",false);
            obj.html("获取验证码")
            setLocalDelay(wait);
        }else{
            var timer = setInterval(function() {
                if (wait > 0) {
                    wait--;
                    obj.attr("disabled",true);
                    obj.html("剩余("+wait+")秒")
                    setLocalDelay(wait);
                } else {
                    clearInterval(timer);
                    obj.attr("disabled",false);
                    obj.html("获取验证码")
                }
            }, 1000);
        }

    }
    function load(obj){
        //获取缓存中的值
        var timers = getLocalDelay();
        if(timers.lastname==null||timers.lastname==0){
            obj.html("获取验证码")
            return;
        }
        obj.html("剩余("+timers.lastname+")秒")
        var timer = setInterval(function() {
            if (timers.lastname > 0) {
                timers.lastname--;
                obj.attr("disabled",true);
                obj.html("剩余("+timers.lastname+")秒")
                setLocalDelay(timers.lastname);
            } else {
                clearInterval(timer);
                obj.attr("disabled",false);
                obj.html("获取验证码")
            }
        }, 1000);
    }

    function setLocalDelay(time) {
        //location.href作为页面的唯一标识,可能一个项目中会有很多页面需要获取验证码。
        localStorage.setItem("lastname" + location.href, time);
    }


    function getLocalDelay() {
        var LocalDelay = {};
        LocalDelay.lastname = localStorage.getItem("lastname" + location.href);
        return LocalDelay;
    }


</script>

</body>
</html>

转载于:https://my.oschina.net/senit/blog/743163

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值