倒计时功能

本文详细介绍了使用JavaScript实现倒计时功能的方法,包括如何计算两个时间点之间的毫秒差,以及如何更新显示剩余时间,适用于多种场景如订单截止、直播开播等。

倒计时
完整代码

<div id="timer" class='font'></div>

<script type="text/javascript" language="javascript">
        $(function(){
            //daoJiShi()//调动执行函数
            run();
        })
//定时器
function run(){
    end='2020-10-28 0:00:00';//结束时间
    endDate=new Date(end.replace("T","/ ").getTime());
    //以500毫秒的速度执行
    var time = 500; 
    setInterval("daoJiShi('"+endDate+"')",time);
}

function daoJiShi(){
        	//var endDate=new Date(2019,8,10,15,0,0);//终点日期的年月日时分秒,月要减去1
        	var now=new Date();//获取当前日期
        	var oft=Math.round((endDate-now)/1000);
        	var ofd=parseInt(oft/3600/24);//天
        	var ofh=parseInt((oft%(3600*24))/3600);//小时
        	// if(ofh<9){ofh="0"+ofh}
        	var ofm=parseInt((oft%3600)/60);//分
        	// if(ofm<9){ofm="0"+ofm}
        	var ofs=oft%60;//秒
        	$('#timer').html('还有 '+ofd+' 天 ' +ofh+ ' 小时 ' +ofm+ ' 分钟 ' +ofs+ ' 秒');
        	if(ofs<0){$('#timer').html('倒计时结束!');return;};
</script>

倒计时-计算俩个时间毫秒差

$(function(){
	countdown()
})
function countdown() {
    var end = '2020-10-28 0:00:00';//结束时间
    enddate = new Date(end.replace('-', '/')).getTime();//转换成毫秒
    var time = 1000;//1000毫秒执行一次
    setInterval("djs('" + enddate + "')", time);
}
//修改订单倒计时
function djs(enddate) {
    var nowDate = new Date();
    var time = (enddate - nowDate.getTime());
    if (time < 0) {
        $('.plConfirm').removeClass('No-btn')
    }
}

更新

$(function(){
var endDate = new Date(2021, 1, 10, 15, 0, 0);//年月日时分秒,月要减去1
            endDate = endDate.getTime();
            TimeDown(endDate);
})
        function TimeDown(endDate) {
            var now = new Date().getTime();
            var oft =Math.round((endDate - now) / 1000);;
            var ofd = parseInt(oft / 3600 / 24);
            var ofh = parseInt((oft % (3600 * 24)) / 3600);
            var ofm = parseInt((oft % 3600) / 60);
            var ofs = oft % 60;
            if (oft < 0) {
                $('#times').hide();
            } else {
                $('#times').html("距离开播<span>" + ofh + "</span> 时 <span>" + ofm + "</span> 分 <span>" + ofs + "</span> 秒")
            }
            //延迟一秒执行自己
            if (ofh == "00" && ofm == "00" && parseInt(ofs) - 1 < 0) {
            } else {
                setTimeout(function () {
                    
                    TimeDown(parseInt(endDate));
                }, 1000)
            }

        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值