Javascript实现时间倒计时

本文介绍了一种使用JavaScript的Date类实现倒计时的方法,通过计算从当前时间到指定结束时间之间的差值来更新显示,并在倒计时结束后播放音频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里使用的是Date日期类

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>日期类倒计时</title>
        <script type="text/javascript">
            window.onload=function(){
                var odiv=document.getElementById("time");
                var obtn=document.getElementById("btn");
                var omusic=document.getElementById("music");
                obtn.onclick=function(){//按钮点击 音乐停止播放
                    omusic.pause();
                }
                function totwo(e){
                    return e<10?"0"+e:""+e;//如果取得的数字为个数则在其前面增添一个0
                }
                function go(){//把获取时间的功能封装到函数内       注意 时间要向下取整避免小数
                        var time1=new Date();//获取当前时间 获取的市1970年1年1月日到现在的毫秒数(必须写在函数或者定时器内 每一次变化都要重新获取当前时间)
                        var time2=new Date(2017,9,27,17,20,10);//设置需要到达的时间 也是获取的毫秒数
                        var conS=Math.floor((time2.getTime()-time1.getTime())/1000);//获得差值除以1000转为秒
                        var day=totwo(Math.floor(conS/86400));//  差值/60/60/24获取天数
                        var hour=totwo(Math.floor(conS%86400/3600)); //   取余/60/60获取时(取余是获取conS对应位置的小数位)
                        var min=totwo(Math.floor(conS%86400%3600/60));//  取余/60获取分
                        var s=totwo(Math.floor(conS%60));  //取总秒数的余数
                        var html="倒计时"+day+"天"+hour+"时"+min+"分"+s+"秒";  
                        odiv.innerHTML=html;//把字符串添加进div中
                        if(conS<0){//倒计时完成 执行功能,这里是播放MP3
                            clearInterval(time);//执行功能时要清除时间函数
                            omusic.play();
                            odiv.innerHTML="春节快乐!";
                        }                   
                }
                go();//调用函数
                var time=setInterval(go,1000);//设置定时器 每一秒执行一次
            }
        </script>
    </head>
    <body>
        <button id="btn">停止</button>
        <audio src="music.mp3" id="music"></audio>
        <div id="time"></div>
    </body> 
</html>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值