js实现倒计时

知识储备:
javascript Date对象
var now = new Date(); //获取当前时间
now.getFullYear(); //年份
now.getMonth(); //月份(0-11)
now.getDate(); //一个月中的某一天 (1 ~ 31)
now.getHours(); //时
now.getMinutes(); //分
now.getSeconds(); //秒
now.getTime(); //返回 1970 年 1 月 1 日至今的毫秒数。
场景:
1. 实现60s倒计时

<html>
<head>
    <title>60秒倒计时</title>
</head>
<script type="text/javascript">
    window.onload = function () {
        var num = 60;
        var time = document.getElementById("time");
        var s = setInterval(function () {
            num--;
            time.innerText=num;
            if(num<=0){
                clearInterval(s)
            }
        },1000);
    }
</script>
<body>
<div id="time">60</div>
</body>
</html>

2.距结束还有多久


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>倒计时2</title>
</head>
<script type="text/javascript">
    window.onload = function () {
         var time = document.getElementById("time");
         var s = setInterval(function () {
             var now =  new Date();
             var end =  new Date("2017-06-05 19:45:00");
             if(end>now){
                 var leftTime = end.getTime()-now.getTime();
                 var leftdays = Math.floor(leftTime/(1000*60*60*24));
                 var lefthours= Math.floor(leftTime/1000/60/60%24);
                 var leftminuins =  Math.floor(leftTime/1000/60%60);
                 var leftSeconds = Math.floor(leftTime/1000%60);
                 var str =leftdays+"天"+ lefthours+"小时"+leftminuins+"分"+leftSeconds+"秒";
                 time.innerText=str;
                 if(leftdays==0&&lefthours==0&&leftminuins==0&&leftSeconds==0){
                     clearInterval(s);
                 }
             }else{
                 time.innerText="已过了结束日期";
             }
        },1000);
    }
</script>
<body>
<div id="time"></div>
</body>
</html>

3.倒计时5分钟

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>5分钟倒计时</title>
</head>
<script type="text/javascript">
    window.onload = function () {
        var m = 5; //5分钟
        var s = 60;//60s
        var time = document.getElementById("time");
        var sl = setInterval(function () {
            if(s>0) {
                s--;
            }else{
                m--;
                s = 59;
            }
            var str = m+"分"+s+"秒";
            time.innerText=str;
            console.log(m+"分"+s+"秒")
            if(m==0&&s==0){
                clearInterval(sl);
            }
        },1000);
    }
</script>
<body>
<div id="time"></div>
</body>
</html>

以上几个倒计时的场景,自己做了个总结。有不妥的地方,欢迎指正。谢谢~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值