用js写一个倒计时表

html代码布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, 			initial-scale=1.0">
    <title>倒计时</title>
</head>
<body>
    <div>
        <p>距离2021的国庆节还剩:</p>
        <span>0</span>天
        <span>0</span>小时
        <span>0</span>分钟
        <span>0</span>秒
    </div>
</body>
</html>

这里html和css布局可以根据自己的喜爱来布局

###css样式代码

<style>
    div{
        margin: 0 auto;
        width: 80%;
        font-size: 26px;
        font-weight: bold;
    }

    span{
        font-size: 26px;
        color:red;
    }

</style>

重要的如何用js代码实现数据的交互

<script>
    window.onload = function(){
    	//setInterval(handler,1000)每隔一秒执行一次
       var id= setInterval(function(){
            var toDay = new Date(); //当前时间
            var endDay = new Date(2021,10,1);//结束时间
        
        var num = Math.round((endDay.getTime() - toDay.getTime())/1000); //获取当今距离国庆的秒数

        var day = parseInt(num/(24*60*60));//获取天数
        var hour = parseInt((num-day*24*60*60)/(60*60))//获取小时
        var minute = parseInt((num - day*24*60*60 - hour*3600)/60) //获取分钟
        var sec =num - day*24*60*60 - hour*3600 - minute*60 //获取几秒
        // console.log(sec);

        var spans = document.getElementsByTagName('span')
		//获取span的节点
        spans[0].innerHTML = change(day);//获取sapn标签内的内容
        spans[1].innerHTML = change(hour);
        spans[2].innerHTML = change(minute);
        spans[3].innerHTML = change(sec);
            if(num<0){
                clearInterval(id)//清楚setInterval的,停止执行
               for(var i=0;i<spans.length;i++){

                   spans[i].innerHTML ='00'
                   document.getElementsByTagName('p')[0].innerHTML='已经过了那个时间了'
               }
                
            }
    
        },1000)
        //将小于10的字符前加上0
        function change(num){
            if(num<10){
               return '0'+num
            }else{
               return ''+num 
            }
        }
       
    }
</script>

效果如下

http://47.95.251.111/js-demo/%e5%80%92%e8%ae%a1%e6%97%b6/%e6%97%b6%e9%92%9f.html.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的html5计时器的代码: ```html <!DOCTYPE html> <html> <head> <title>计时器</title> <script type="text/javascript"> "use strict"; window.onload = function () { //设置截止时间为2021年1月1日 var endtime = new Date("2021/1/1 00:00:00"); //获取文本框元素 var days = document.getElementById("days"); var hours = document.getElementById("hours"); var minutes = document.getElementById("minutes"); var seconds = document.getElementById("seconds"); //更新计时 function updateCountdown() { var now = new Date(); var timeleft = endtime - now; var days_left = Math.floor(timeleft / (1000 * 60 * 60 * 24)); var hours_left = Math.floor((timeleft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes_left = Math.floor((timeleft % (1000 * 60 * 60)) / (1000 * 60)); var seconds_left = Math.floor((timeleft % (1000 * 60)) / 1000); days.innerHTML = days_left; hours.innerHTML = ("0" + hours_left).slice(-2); minutes.innerHTML = ("0" + minutes_left).slice(-2); seconds.innerHTML = ("0" + seconds_left).slice(-2); } //每秒钟更新计时 setInterval(updateCountdown, 1000); }; </script> </head> <body> <h1>计时器</h1> <p>距离2021年1月1日还剩:</p> <span id="days">--</span>天 <span id="hours">--</span>小时 <span id="minutes">--</span>分 <span id="seconds">--</span>秒 </body> </html> ``` 这个计时器可以根据设定的截止时间自动计算距离截止时间的时间差,并在界面上显示出来。具体实现方式是在页面加载时设定截止时间,然后通过`setInterval`函数每隔一秒更新一次计时。在`updateCountdown`函数中,首先根据当前时间和设定的截止时间计算出时间差,然后分别计算还剩多少天、小时、分钟和秒,最后将这些值更新到相应的文本框中即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值