倒计时页面

倒计基本原理:
其实就是获取两个时间的时间差,然后除1000换算成秒数,除60换算成分,除360换算成小时,除24*360换算成日

//这个函数是当前时间距离你选定的日期(函数的参数)相差的时间
function leftTime(year, month, day, hour, minute, second) {
    //计算相差的毫秒数
    var leftTime = (new Date(year, month-1, day, hour, minute, second)) - (new Date());
    var days = parseInt(leftTime / 1000 / 60 / 60 / 24 , 10); //计算剩余的天数
    var hours = parseInt(leftTime / 1000 / 60 / 60 % 24 , 10); //计算剩余的小时
    var minutes = parseInt(leftTime / 1000 / 60 % 60, 10);//计算剩余的分钟
    var seconds = parseInt(leftTime / 1000 % 60, 10);//计算剩余的秒数
    days = checkTime(days);
    hours = checkTime(hours);
    minutes = checkTime(minutes);
    seconds = checkTime(seconds);
    var formString = days + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒'
    //到以上步骤其实已经获取了可以树勇的数字,eg:01天20小时24分钟30秒
    //下面这部分处理是将两位的数字分割成一位一位的,这样我就可以放到相应的地方
    document.getElementsByClassName('hourFirst')[0].innerHTML = hours.toString().slice(0,1)
    document.getElementsByClassName('hourSecond')[0].innerHTML = hours.toString().slice(1,2)
    document.getElementsByClassName('minFirst')[0].innerHTML = minutes.toString().slice(0,1)
    document.getElementsByClassName('minSecond')[0].innerHTML = minutes.toString().slice(1,2)
    document.getElementsByClassName('secondFirst')[0].innerHTML = seconds.toString().slice(0,1)
    document.getElementsByClassName('secondSecond')[0].innerHTML = seconds.toString().slice(1,2)
}
function checkTime(i){ //将0-9的数字前面加上0,例1变为01
    if(i<10)
    {
        i = "0" + i;
    }
    return i;
}
setTimeout(function(){
    leftTimer(2017,11,8,11,57,00)
},10)
setInterval(function(){
    leftTimer(2017,11,8,11,57,00)
},1000)

需要注意的是:如果直接使用setInterval页面会在1秒以后才开始显示倒计时,这样体验很不好,所以我用了setTimeout时间设为10毫秒,其实就是想达到立即出发函数的效果,为什么不直接调用函数leftTimer() 是因为直接调用了 并没有解决这个问题,而且还造成了出现NaN的状况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值