HTML 简单日历制作方法

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

  1 <!doctype html>
  2 <html>
  3
  4     <head>
  5         <meta charset="utf-8">
  6         <title>无标题文档</title>
  7         <style>
  8             * {margin: 0;padding: 0}
  9             #calendar {width: 210px;margin: 100px auto;overflow: hidden;border: 1px solid #000;padding: 20px;position: relative}
 10             #calendar h4 {text-align: center;margin-bottom: 10px}
 11             #calendar .a1 {position: absolute;top: 20px;left: 20px;}
 12             #calendar .a2 {position: absolute;top: 20px;right: 20px;}
 13             #calendar .week {height: 30px;line-height: 20px;border-bottom: 1px solid #000;margin-bottom: 10px}
 14             #calendar .week li {float: left;width: 30px;height: 30px;text-align: center;list-style: none;}
 15             #calendar .dateList {overflow: hidden;clear: both}
 16             #calendar .dateList li {float: left;width: 30px;height: 30px;text-align: center;line-height: 30px;list-style: none;}
 17             #calendar .dateList .ccc {color: #ccc;}
 18             #calendar .dateList .red {background: #F90;color: #fff;}
 19             #calendar .dateList .sun {color: #f00;}
 20         </style>
 21         <script src="js/jquery-1.11.3.min.js"></script>
 22         <script>
 23             $(function() {
 24
 25                 //必要的数据
 26                 //今天的年 月 日 ;本月的总天数;本月第一天是周几???
 27                 var iNow=0;
 28
 29                 function run(n) {
 30
 31                     var oDate = new Date(); //定义时间
 32                     oDate.setMonth(oDate.getMonth()+n);//设置月份
 33                     var year = oDate.getFullYear(); //年
 34                     var month = oDate.getMonth(); //月
 35                     var today = oDate.getDate(); //日
 36
 37                     //计算本月有多少天
 38                     var allDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
 39
 40                     //判断闰年
 41                     if(month == 1) {
 42                         if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
 43                             allDay = 29;
 44                         }
 45                     }
 46
 47                     //判断本月第一天是星期几
 48                     oDate.setDate(1); //时间调整到本月第一天
 49                     var week = oDate.getDay(); //读取本月第一天是星期几
 50
 51                     //console.log(week);
 52                   $(".dateList").empty();//每次清空
 53                     //插入空白
 54
 55                     for(var i = 0; i < week; i++) {
 56                         $(".dateList").append("<li></li>");
 57                     }
 58
 59                     //日期插入到dateList
 60                     for(var i = 1; i <= allDay; i++) {
 61                         $(".dateList").append("<li>" + i + "</li>")
 62                     }
 63                     //标记颜色=====================
 64                     $(".dateList li").each(function(i, elm){
 65                         //console.log(index,elm);
 66                         var val = $(this).text();
 67                         //console.log(val);
 68                         if (n==0) {
 69                             if(val<today){
 70                             $(this).addClass(‘ccc‘)
 71                         }else if(val==today){
 72                             $(this).addClass(‘red‘)
 73                         }else if(i%7==0  ||  i%7==6   ){
 74                             $(this).addClass(‘sun‘)
 75                         }
 76                         }else if(n<0){
 77                             $(this).addClass(‘ccc‘)
 78                         }else if(i%7==0  ||  i%7==6   ){
 79                             $(this).addClass(‘sun‘)
 80                         }
 81                     });
 82
 83                     //定义标题日期
 84                     $("#calendar h4").text(year + "年" + (month + 1) + "月");
 85                 };
 86                 run(0);
 87
 88                 $(".a1").click(function(){
 89                     iNow--;
 90                     run(iNow);
 91                 });
 92
 93                 $(".a2").click(function(){
 94                     iNow++;
 95                     run(iNow);
 96                 })
 97             });
 98         </script>
 99     </head>
100
101     <body>
102         <div id="calendar">
103             <h4>2013年10月</h4>
104             <a href="##" class="a1">上月</a>
105             <a href="##" class="a2">下月</a>
106             <ul class="week">
107                 <li>日</li>
108                 <li>一</li>
109                 <li>二</li>
110                 <li>三</li>
111                 <li>四</li>
112                 <li>五</li>
113                 <li>六</li>
114
115             </ul>
116             <ul class="dateList"></ul>
117         </div>
118
119     </body>
120
121 </html>
时间: 2024-10-05 19:16:20

HTML 简单日历制作方法的相关文章

js编写当天简单日历

之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日历的实现原理.自己也尝试着做了一下,收获蛮大,掌握了基本的实现原理后,再想增加更多的功能,完全就可以自由发挥了,先在这里分享一下吧,有兴趣的可以试试! 一.表格行数问题 既然要显示日期表格的话,首先得知道这个表格有多少行多少列,列数是已经确定的,从星期天(日历上第1列是星期天)到星期六一共7列.要解

Webcast / 技术小视频制作方法——自己动手录制video轻松搞定

Webcast / 技术小视频制作方法——自己动手录制video轻松搞定 http://blog.sina.com.cn/s/blog_67d387490100wdnh.html 最近申请加入MSP的童鞋应该发现了一个新的要求——制作简短的视频!视频的内容要求是与微软技术相关~我们希望通过使用这种方法,简化申请流程,加强对创意.微软相关技术的考察~关于MSP项目以及申请流程的细则近期也会出台,请童鞋们耐心等待~ 首先呢,就跟广大的童鞋们介绍一款简单使用的录屏软件~而通过简单的安装,便可以轻松.便

使用sharepoint2010 分组日历制作会议室预订系统

近期由于会议较多,各部门之间使用会议室时间冲突频繁发生,使沟通成本明显增加.为了规范 化管理会议室资源,提高会议效率,降低沟通成本,上线一套会议室管理系统势在必行. 现有生产环境中,拥有微软的sharepoint系统,而sharepoint 2010的分组日历功能支持用户预订会 议室和视听设备等资源.所以最先考虑使用sharepoint的内在资源预订功能.其他开源软件系统诸如 mrbs等暂不考虑,之后可以考虑部署mrbs和sharepoint两套系统对比一下. 配置sharepoint 资源预订

jQuery插件制作方法详解

jQuery插件制作方法详解 jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了.其他事情插件全包.我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件.写一 个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件. jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加上Jt

无铜环双界面智能卡封装框架制作方法

无铜环双界面智能卡封装框架制作方法,属于电子信息技术领域,主要应用于IC封装框架领域.本发明首先采用一面带铜的环氧树脂布,经冲压.前处理.覆膜.曝光.显影.蚀刻制作出第二接触层(3):再在无铜箔面贴铜箔.烘干.前处理.覆膜.曝光.显影.蚀刻制作出第一接触层(2):然后,对第一接触层(2)和第二接触层(3)进行表面处理.导电线大大减少的双界面智能卡封装框架,减少了镀金的面积,节约了成本.而且贴入芯片时,减少了导线因与铜环接触而发生短路的可能性. 1.无铜环双界面智能卡封装框架制作方法,其特征在于:

RFID标签天线的三种制作方法

在RFID标签中,天线层是主要的功能层,其目标是传输最大的能量进出标签芯片.RFID天线是按照射频识别所要求的功能而设计的电子线路,将导电银浆或导电碳浆网印在PVC.PC或PET上,再与面层.保护层和底层等合成的.RFID标签天线的制印质量是RFID制造过程中需要控制的关键问题.天线的制作方法常见的有蚀刻法.烫印法和导电油墨印刷法.下面简单介绍这三种作用方法的特点和操作技术要领. 1 蚀刻法 天线在蚀刻前应先印刷上抗蚀膜,首先将PET薄膜片材两面覆上金属(如铜.铝等)箔,然后采用印刷法(网印.凹

Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。

http://www.cocoachina.com/bbs/read.php?tid-282490.html Xcode6.1标准Framework静态库制作方法.工程转Framework,静态库加xib和图片.完美解决方案. 在cocoachina呆挺长时间了.没什么大贡献.就整理了这个,希望对大家有帮助.绝对原创.呵呵. 1.创建一个工程,或者在原有的工程上进行.不在列举.2.在原有工程上添加一个静态库 2.1.选择OS X 的Bundle.因为Xcode6.1中iOS里没有Bundle.

浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)

来自:http://blog.csdn.net/zhdwjie/article/details/1490741 ------------------------------------------------------------------- 从99年学习delphi开始,我就被它的快速开发迷上了,那时候刚接触编程,对可视化开发特别来劲,原因嘛,不外乎是比C更快的实现啦,这几年来,从delphi的C/S到三层B/S,大大小小也写过一些软件,自认为这delphi也就这么些功能吧,自从最近偶得一

USB移动硬盘WinPE启动盘的制作方法

软件:老九WinPE 老毛桃终于撒手无论版 发行时间:2007年9月11日 制作发行:老毛桃 作用:当系统坏了,无法进入时,用来做系统维护,备份文件.轻巧稳定,用过你就知道了. 下载地址: http://download8.138.io/share/395a741cf573b52fe73b88f5c/88f2ddfb24bdc33b1d81/2007-9-11%2fBootCD_070911.rar 一.移动硬盘(或U盘)WinPE启动盘的制作方法 1.将移动硬盘分区,第一个分区设为主分区,格式