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 相关文章推荐
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
javascript倒计时功能实现代码
Jun 07 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
jquery动态增加删除表格行的小例子
Nov 14 Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 Javascript
Jquery实现鼠标移动放大图片功能实例
Mar 25 Javascript
js实现的星星评分功能函数
Dec 09 Javascript
js获取url传值的方法
Dec 18 Javascript
详解使用 Node.js 开发简单的脚手架工具
Jun 08 Javascript
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
Postman的下载及安装教程详解
Oct 16 Javascript
Nuxt.js实战和配置详解
Aug 05 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 HTML无刷新提交表单
2016/04/05 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
Python模拟用户登录验证
2017/09/11 Python
Python 类的特殊成员解析
2018/06/20 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
python定义具名元组实例操作
2021/02/28 Python
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
电信营业员自我评价分享
2014/01/17 职场文书
庆祝教师节活动方案
2014/01/31 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
大班幼儿评语大全
2014/04/30 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
财产保全担保书
2015/01/20 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技