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


Posted in Javascript onJune 27, 2017

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

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

代码:

<!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日历插件使用方法汇总》进行学习

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

Javascript 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
动态创建按钮的JavaScript代码
Jan 29 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
ionic环境配置及问题详解
Jun 27 #Javascript
微信小程序 密码输入(源码下载)
Jun 27 #Javascript
Javascript实现base64的加密解密方法示例
Jun 27 #Javascript
微信小程序 空白页重定向解决办法
Jun 27 #Javascript
ionic 自定义弹框效果
Jun 27 #Javascript
js脚本编写简单刷票投票系统
Jun 27 #Javascript
详解Vue.js搭建路由报错 router.map is not a function
Jun 27 #Javascript
You might like
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
php实用代码片段整理
2016/11/12 PHP
js null,undefined,字符串小结
2010/08/21 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Python之str操作方法(详解)
2017/06/19 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python入门之后再看点什么好?
2018/03/05 Python
详解Python中的type和object
2018/08/15 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python__name__原理及用法详解
2019/11/02 Python
python科学计算之narray对象用法
2019/11/25 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
基于FME使用Python过程图解
2020/05/13 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
毕业自荐书
2013/12/09 职场文书
同学聚会主持词
2014/03/18 职场文书
股权转让协议书
2014/12/07 职场文书
慈善募捐倡议书
2015/04/27 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
公历12个月名称的由来
2022/04/12 杂记