JavaScript 动态跳动日历完整实现

作者:半夏时间:2026-10-22 09:18:43浏览:244

本文提供基于 JavaScript 实现动态跳动日历的完整代码实例。通过获取系统当前时间,利用 setInterval 每秒更新年月日、星期及时分秒显示,实现日历数据的实时刷新效果。代码包含 HTML 结构、CSS 样式及 JS 逻辑,可直接参考使用。

动态日历效果简介

简介

本示例旨在展示如何编写一个动态更新的日历组件。该组件需完整呈现年、月、日、星期以及小时、分钟和秒等信息,具体视觉效果参考下图:

动态日历效果简介

在系统时间推进的过程中,日历界面上的年、月、日、星期以及时分秒数值均会随之自动刷新更新。


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Document</title>
 <style type="text/css">
  *{
   margin:0;
   padding: 0; 
   font-size: 0px;
   font-family: '微软雅黑';
  }
  .contain-wrapper{
   margin: 0 auto;
   padding-top: 70px;
   width: 470px;
   height: 230px;
   background: #000000;
   border-radius: 30px;
  }
  .timer-wrapper p{
   font-size: 44px;
   color: #ffffff;
  }
  .year{
   width: 470px;
   text-align: center;
  }
  .timer-footer{
   width: 460px;
   text-align: center;
  }
  .timer-footer p:nth-child(1){
   display: inline-block;
  }
  .timer-footer p:nth-child(2){
   display: inline-block;
  }
 </style>
</head>
<body>
 <div class="contain-wrapper">
  <div class="timer-wrapper">
   <p class="year"></p>
   <div class="timer-footer">
    <p></p>
    <p></p>
   </div>
  </div>
 </div>
</body>
<script type="text/javascript">
  
  /*
  *这是一个获取当前日期的函数
   */
  function showLocaleDate(objb){
   var str = objb.getFullYear()+"年"+(objb.getMonth()+1)+"月"+objb.getDate()+"日";
   return str;
  }
  var year=document.getElementsByClassName('timer-wrapper')[0].getElementsByTagName('p')[0];

  
  /*
  *这是一个获取星期几的函数
   */
  function showLocaleWeek(objC){
   var weekArray = new Array("日", "一", "二", "三", "四", "五", "六"); 
   var week = objC.getDay(); 
   var weekString = "星期"+ weekArray[week];
   return weekString;
  }
  var wk=document.getElementsByClassName('timer-wrapper')[0].getElementsByTagName('p')[1];
  /*
  *这是一个获取当前时间的函数
   */

  function showLocaleTime(objD){
   var hh = objD.getHours();
   if(hh<10) hh = '0' + hh;
   var mm = objD.getMinutes();
   if(mm<10) mm = '0' + mm;
   var ss = objD.getSeconds();
   if(ss<10) ss = '0' + ss;
   var reflash=hh + ":" + mm + ":" + ss;
   return reflash;
  }
  var now=document.getElementsByClassName('timer-wrapper')[0].getElementsByTagName('p')[2];

  function showTime(){
   var today=new Date();
   year.innerHTML=showLocaleDate(today);
   wk.innerHTML=showLocaleWeek(today);
    now.innerHTML=showLocaleTime(today);
    window.setTimeout("showTime()",1000);
  }
  showTime();
</script>
</html>

JavaScript 代码实现

代码实现部分如下:

作者最新文章