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 1.5 源码解读 面向中高阶JSER
Apr 05 Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
Sep 26 Javascript
理解JavaScript原型链
Oct 25 Javascript
详解Vue使用命令行搭建单页面应用
May 24 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
js闭包学习心得总结
Apr 17 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
微信小程序实现图片上传
May 23 Javascript
React实现动效弹窗组件
Jun 21 Javascript
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实现建立多层级目录的方法
2014/07/19 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python求最大连续子数组的和
2018/07/07 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Python文件操作函数用法实例详解
2019/12/24 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
新闻专业应届生求职信
2013/10/31 职场文书
师范生个人推荐信
2013/11/29 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
2014信息公开实施方案
2014/02/22 职场文书
年终总结会主持词
2014/03/25 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
班训口号大全
2014/06/18 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
教师个人发展总结
2015/02/11 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
MySQL读取JSON转换的方式
2022/03/18 MySQL