首页 > 其他分享 >写个还剩下多少天过年的倒计时

写个还剩下多少天过年的倒计时

时间:2024-11-22 11:20:52浏览次数:1  
标签:60 写个 const countdown 倒计时 过年 now Math

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>过年倒计时</title>
    <style>
        body {
            font-family: sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            background-color: #f0f0f0;
        }
        #countdown {
            font-size: 2em;
            padding: 20px;
            border-radius: 10px;
            background-color: #fff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
    </style>
</head>
<body>

    <div id="countdown"></div>

    <script>
        function countdown() {
            const now = new Date();
            const chineseNewYear = new Date(now.getFullYear() + (now.getMonth() > 10 ? 1 : 0), 0, 1); // 注意月份是从0开始的

            const timeLeft = chineseNewYear.getTime() - now.getTime();
            const daysLeft = Math.ceil(timeLeft / (1000 * 60 * 60 * 24));

            document.getElementById("countdown").innerText = `距离${chineseNewYear.getFullYear()}年春节还有 ${daysLeft} 天!`;
        }

        countdown();
        setInterval(countdown, 1000 * 60 * 60); // 每小时更新一次
    </script>

</body>
</html>

代码解释:

  1. HTML 结构: 创建一个 div 用于显示倒计时,并设置一些基本的样式。

  2. JavaScript 逻辑:

    • countdown() 函数:

      • 获取当前时间 now
      • 计算春节日期 chineseNewYear。 这里 now.getMonth() > 10 ? 1 : 0 处理了跨年的情况。如果当前月份大于10(也就是11月或12月),那么春节就是明年的1月1日,否则就是今年的1月1日.
      • 计算时间差 timeLeft (毫秒)。
      • 计算剩余天数 daysLeft,使用Math.ceil向上取整,确保显示完整的天数。
      • 更新 countdown div 的内容,显示剩余天数。
    • setInterval(countdown, 1000 * 60 * 60):每小时调用 countdown() 函数更新倒计时。

改进建议:

  • 更精确的倒计时: 可以显示更精确的时间,例如小时、分钟和秒。
  • 更丰富的样式: 可以添加更丰富的样式,例如背景图片、动画效果等,使倒计时更美观。
  • 农历春节: 这个代码计算的是公历新年,如果需要计算农历春节,需要使用农历库或者API。

这个改进的例子包含了更精确的倒计时(天、小时、分钟、秒)和一些简单的样式:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <!-- ... (same as before) ... -->
</head>
<body>

  <div id="countdown"></div>

  <script>
    // ... (same countdown function as before, but modified below) ...

        function countdown() {
            // ... (same as before) ...

            const secondsLeft = Math.floor(timeLeft / 1000);
            const days = Math.floor(secondsLeft / (60 * 60 * 24));
            const hours = Math.floor((secondsLeft % (60 * 60 * 24)) / (60 * 60));
            const minutes = Math.floor((secondsLeft % (60 * 60)) / 60);
            const seconds = secondsLeft % 60;


            document.getElementById("countdown").innerText = `距离${chineseNewYear.getFullYear()}年春节还有 ${days}天 ${hours}小时 ${minutes}分 ${seconds}秒!`;
        }

        // ... (setInterval remains the same) ...
  </script>

</body>
</html>

这个例子

标签:60,写个,const,countdown,倒计时,过年,now,Math
From: https://www.cnblogs.com/ai888/p/18562411

相关文章

  • 倒计时 4 天! 11 月 23 日成都站 Meetup 分享议题抢先看
    在云原生浪潮持续席卷的当下,技术的迭代与创新推动着企业加速迈向高效智能化。KubeSphere社区始终致力于为开发者、架构师和企业提供一流的云原生技术交流平台,而此次在成都举办的Meetup沙龙便是一次技术分享与思想碰撞的绝佳机会。11月23日,KubeSphere社区联合Higress社区将......
  • 25考研倒计时38天!除了考研,你还需要一个能托底的技能!
    25正式考研时间是12月21日和22日,现在距离25考研已经不到40天。考研备考到这个阶段,相信有不少同学们都开始着急起来了,随着时间推移,同学们愈发感到焦虑。小编觉得主要有两方面原因。一方面同学们觉得之前复习得不到位,浪费了很多时间。现在想着逼自己一把,冲刺一波,但到现阶段,同......
  • CVPR截稿倒计时|无问芯穹Infini-AI超级算力周延长
    随着CVPR2025的投稿截止日期(11月14日)的临近,科研人员正全力以赴进行最后的冲刺。为了帮助大家轻松应对这一关键时刻,无问芯穹Infini-AI异构云平台特别延长了“超级算力周”活动,活动日期直至11月15日。现在,您只需支付每小时0.99元的优惠价格,即可享受到搭载4090显卡的高性能......
  • aardio零基础学编程:5 分钟写个下载软件
    废话不多说直接开干!桌面软件快速开发工具aardio[1]专注于桌面软件开发,体积仅6.5MB,提供了大量开源的标准库、扩展库-这些库基本都是由纯aardio代码实现,涉及到了桌面编程的方方面面。aardio中的所有库基本都是由作者一个人编写,所以拥有良好的一致性。aardio一直保......
  • 基于Multisim篮球比赛24S倒计时电路(含仿真和报告)
    【全套资料.zip】篮球比赛24S倒计时电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真+报告+讲解视频.zip】功能篮球比赛24S倒计时功能:1.具有数码管显示24S计时功能。2.设置外部开关,可以直接启动......
  • FineReport 倒计时特效
    1、代码准备将下面的代码生成对应文件1.1、zzsc.js这段代码是一个JavaScript计时器脚本,用于计算从当前时间到第二天午夜(即0点)之间的时间差,并将这个时间差显示在网页上的特定元素中。具体来说,它会实时更新页面上指定的HTML元素(通过类名.se-txt选择),以显示剩余的天数、小......
  • 倒计时1天 | 袋鼠云秋季发布会明日10:00开幕,我们云上见!
    在当今时代,AI的发展如汹涌浪潮,其速度之快超越了任何历史时期。它以前所未有的迅猛之势,渗入到各个领域的不同场景之中,悄然重塑着商业模式与人们的生活方式。在AI逐渐成为企业基础属性的背景下,袋鼠云举办秋季发布会,以“AI驱动,数智未来”为主题,旨在深度探讨如何凭借AI实现新的......
  • 倒计时功能实现:认识了css选择器 div[id^=“countdown-“]
    html倒计时<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>倒计时功能实现</ti......
  • Vue2 项目实战:打造一个简易倒计时计时器工具 Vue2 实践教程:如何实现一个工作与休息倒
    效果图Vue2倒计时计时器工具教程在本教程中,我们将一步步实现一个Vue2倒计时计时器工具。这个工具允许用户在工作和休息模式之间切换,并设置倒计时时间。倒计时结束时,系统会发出提醒,提示用户切换工作或休息状态。非常适合初学者练习Vue的数据绑定、计算属性和事件处理......
  • 用markdown写个博客网站吧
    背景你看到别人都有自己的个人博客,你不想也搞一个吗?作者的博客示例:博客演示地址源码地址:码云技术与环境vitePress:官网markdownvuenodejs:V18.0+yarn用来安装依赖,也可以用pnpm、bun、npm等开始搭建1.建一个空的文件夹,如:testBlog2.安装vitepress:yarnadd-Dvitepres......