Js倒计时

页面需要倒计时,这里是后台提供初始时间,30分钟倒计时。

//倒计时
function timer() {
    //初始时间-datetime类型
    adddatetime = document.getElementById("hiddentime").value;
    var arr = adddatetime.split(/[^0-9]/);
    for (var i = 0; i < arr.length; i++) {
        if (i == 1) {
            arr[i]--;
        }
        if (i == 3) {
            arr[i]++;
        }
    }
    var ts = (new Date(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5])) - (new Date()); //计算剩余的毫秒数
    if (parseInt(ts / 1000 / 60 % 60, 10) > 30) {
        var hh = parseInt(ts / 1000 / 60 / 60 % 24, 10); //计算剩余的小时数
        var mm = parseInt(ts / 1000 / 60 % 60, 10); //计算剩余的分钟数
        var ss = parseInt(ts / 1000 % 60, 10); //计算剩余的秒数
        hh = checkTime(hh);
        mm = checkTime(mm);
        ss = checkTime(ss);
        mm = mm - 30;
        document.getElementById("hour").innerHTML = hh;
        document.getElementById("minute").innerHTML = mm;
        document.getElementById("second").innerHTML = ss;
        setTimeout("timer()", 1000);
    }
}
//添加时间
var adddatetime;
window.onload = function () {
    timer();
}

 

2:验证码倒计时(60s)

 

 var loginwaitreg = 60;
        var loginwaitset = 60;
        function times(type) {

            if (type == "reg") {

                //注册
                if (loginwaitreg == 0) {
                    document.getElementById('regpin').value = "获取验证码";
                    document.getElementById("regpin").disabled = false;
                    loginwaitreg = 60;
                }
                else {
                    document.getElementById('regpin').value = "" + loginwaitreg + "s";
                    document.getElementById('regpin').disabled = true;
                    loginwaitreg--;
                    if (loginwaitreg >= 0) {
                        setTimeout(
                    function () {
                        times();
                    },
                    1000
                );
                    }
                }
            } else {
                //找回
                if (loginwaitset == 0) {
                    document.getElementById('setpin').innerHTML = "获取验证码";
                    document.getElementById("setpin").disabled = false;
                    loginwaitset = 60;
                }
                else {
                    document.getElementById('setpin').innerHTML = "" + loginwaitset + "s";
                    document.getElementById('setpin').disabled = true;
                    loginwaitset--;
                    if (loginwaitset >= 0) {
                        setTimeout(
                    function () {
                        times();
                    },
                    1000
                );
                    }
                }
            }


        }

在ajax请求的方法中调用times()方法,这里type是为了区分注册方法和忘记密码方法。

 

posted @ 2016-10-25 13:28  赵坤坤  阅读(219)  评论(0)    收藏  举报