秒杀

本文介绍了一种使用HTML、CSS和JavaScript实现秒杀倒计时的方法,详细展示了如何通过JavaScript进行时间计算,并实时更新页面显示,适用于电商网站的限时促销活动。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{
            padding: 0;
            margin: 0;
        }

        div{
            width: 800px;
            height: 100px;
            line-height: 100px;
            margin: 0 auto;
            margin-top: 100px;
            color: #000;
            font-size: 26px;
        }
    </style>
</head>
<body>
      <div class="txt"></div>
</body>
<script type="text/javascript">
	///秒杀倒计时
    let strTime = new Date('2020/03/20 14:35:50').getTime();
    let endTime = new Date('2020/03/20 14:33:00').getTime();
    //格式化时间
    function num(n){
        return n < 10 ?'0'+n :n;
    };

    let Interval = (strTime,endTime)=>{
        let now = new Date().getTime();//当前时间
        if(strTime>now){ //如果开始时间小于当前时间就是 (活动还没开始)
            console.log('距离活动开始还有:')
            timerfunc(strTime,'距离活动开始')
        }else if(endTime<=now){
        	console.log(endTime)
        	console.log('结束时间已经过了');
        	let txt = document.querySelector('.txt');
        	txt.innerHTML = "活动已经结束啦2";
        }else{ //当前时间大于开始时间 (活动已经开始)
        	console.log(endTime,now)
            console.log('距离活动结束还有:')
            timerfunc(endTime,'距离活动结束')
        }
    }

    //倒计时函数
    let timerfunc = (time,type)=>{
        let timer = setInterval(function(){
            //当前时间
            var startTime = new Date().getTime();
            //结束时间
            var endTimes =  time;
            //算出中间差,以毫秒数返回.
            var countDown = (endTimes-startTime);
            //获取天数
            var oDay = parseInt(countDown/1000/60/60/24);
            //获取小时数
            var oHour = parseInt(countDown/1000/60/60%24);
            //获取分钟数
            var oMinute = parseInt(countDown/1000/60%60);
            //获取秒数
            var oSecond = parseInt(countDown/1000%60);
            //获取标签
            var txt = document.querySelector('.txt');
            //输出时间
           	console.log(oDay,oHour,oMinute,oSecond);

           	if(oDay == 0  && oHour == 0  && oMinute == 0 && oSecond == 0){
           		console.log('进入')
				type == '距离活动结束'?(console.log('活动已结束!'),txt.innerHTML ='活动已结束'):type == '距离活动开始'?Interval(strTime,endTime):'';
                clearInterval(timer);
                return;
           	}

            var t = num(oDay)+ '天'+num(oHour)+'时'+num(oMinute)+'分'+num(oSecond)+'秒';
            console.log(t)
            txt.innerHTML = `${type}:`+t;
        },1000);
    }

    Interval(strTime,endTime)
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值