js+html制作简单日历的方法

发布时间 - 2026-01-11 02:05:06    点击率:

新手一枚,不会写什么高大上的博文,一些平时做的小练习,献丑

代码:

<!doctype html>
<html>

 <head>
 <meta charset="utf-8">
 <title>无标题文档</title>
 <style>
  * {margin: 0;padding: 0}
  #calendar {width: 210px;margin: 100px auto;overflow: hidden;border: 1px solid #000;padding: 20px;position: relative}
  #calendar h4 {text-align: center;margin-bottom: 10px}
  #calendar .a1 {position: absolute;top: 20px;left: 20px;}
  #calendar .a2 {position: absolute;top: 20px;right: 20px;}
  #calendar .week {height: 30px;line-height: 20px;border-bottom: 1px solid #000;margin-bottom: 10px}
  #calendar .week li {float: left;width: 30px;height: 30px;text-align: center;list-style: none;}
  #calendar .dateList {overflow: hidden;clear: both}
  #calendar .dateList li {float: left;width: 30px;height: 30px;text-align: center;line-height: 30px;list-style: none;}
  #calendar .dateList .ccc {color: #ccc;}
  #calendar .dateList .red {background: #F90;color: #fff;}
  #calendar .dateList .sun {color: #f00;}
 </style>
 <script src="js/jquery-1.11.3.min.js"></script>
 <script>
  $(function() {

  //必要的数据
  //今天的年 月 日 ;本月的总天数;本月第一天是周几???
  var iNow=0;
  
  function run(n) {

   var oDate = new Date(); //定义时间
   oDate.setMonth(oDate.getMonth()+n);//设置月份
   var year = oDate.getFullYear(); //年
   var month = oDate.getMonth(); //月
   var today = oDate.getDate(); //日

   //计算本月有多少天
   var allDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];

   //判断闰年
   if(month == 1) {
   if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    allDay = 29;
   }
   }

   //判断本月第一天是星期几
   oDate.setDate(1); //时间调整到本月第一天
   var week = oDate.getDay(); //读取本月第一天是星期几

   //console.log(week);
   $(".dateList").empty();//每次清空
   //插入空白

   for(var i = 0; i < week; i++) {
   $(".dateList").append("<li></li>");
   }

   //日期插入到dateList
   for(var i = 1; i <= allDay; i++) {
   $(".dateList").append("<li>" + i + "</li>")
   }
   //标记颜色=====================
   $(".dateList li").each(function(i, elm){
   //console.log(index,elm);
   var val = $(this).text();
   //console.log(val);
   if (n==0) {
    if(val<today){
    $(this).addClass('ccc')
   }else if(val==today){
    $(this).addClass('red')
   }else if(i%7==0 || i%7==6 ){
    $(this).addClass('sun')
   }
   }else if(n<0){
    $(this).addClass('ccc')
   }else if(i%7==0 || i%7==6 ){
    $(this).addClass('sun')
   }
   });

   //定义标题日期
   $("#calendar h4").text(year + "年" + (month + 1) + "月");
  };
  run(0);
  
  $(".a1").click(function(){
   iNow--;
   run(iNow);
  });
  
  $(".a2").click(function(){
   iNow++;
   run(iNow);
  })
  });
 </script>
 </head>

 <body>
 <div id="calendar">
  <h4>2013年10月</h4>
  <a href="##" rel="external nofollow" rel="external nofollow" class="a1">上月</a>
  <a href="##" rel="external nofollow" rel="external nofollow" class="a2">下月</a>
  <ul class="week">
  <li>日</li>
  <li>一</li>
  <li>二</li>
  <li>三</li>
  <li>四</li>
  <li>五</li>
  <li>六</li>

  </ul>
  <ul class="dateList"></ul>
 </div>

 </body>

</html>

更多精彩内容请点击专题《javascript日历插件使用方法汇总》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 日历  # js css+html实现简单的日历  # 轻量级的原生js日历插件calendar.js使用指南  # JS学习之一个简易的日历控件  # Vue.js创建Calendar日历效果  # JS日历 推荐  # 纯js简单日历实现代码  # js日历控件(可精确到分钟)  # php+javascript的日历控件  # JS实现一个简单的日历  # JavaScript自定义日历效果  # 请点击  # 有多少  # 上月  # 一枚  # 下月  # 大家多多  # 清空  # 无标题文档  # 博文  # 平时  # relative  # bottom  # position  # border  # hidden  # overflow  # solid  # li  # line  # dateList 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Laravel如何实现多对多模型关联?(Eloquent教程)  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何确保西部建站助手FTP传输的安全性?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  常州企业网站制作公司,全国继续教育网怎么登录?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  如何基于云服务器快速搭建网站及云盘系统?  网站建设整体流程解析,建站其实很容易!  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Firefox Developer Edition开发者版本入口  如何在IIS中配置站点IP、端口及主机头?  如何在IIS中新建站点并配置端口与物理路径?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Laravel如何使用Telescope进行调试?(安装和使用教程)  高防服务器租用指南:配置选择与快速部署攻略  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  jQuery validate插件功能与用法详解  如何利用DOS批处理实现定时关机操作详解  如何快速搭建虚拟主机网站?新手必看指南  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  如何用美橙互联一键搭建多站合一网站?  js实现获取鼠标当前的位置  浅谈redis在项目中的应用  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  如何用PHP工具快速搭建高效网站?  Laravel如何处理和验证JSON类型的数据库字段  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  微信小程序 HTTPS报错整理常见问题及解决方案  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  用yum安装MySQLdb模块的步骤方法  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  怎么用AI帮你为初创公司进行市场定位分析?  如何用西部建站助手快速创建专业网站?  *服务器网站为何频现安全漏洞?  LinuxShell函数封装方法_脚本复用设计思路【教程】  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】