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 简单应用示例总结
Aug 09 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
AngularJS自动表单验证
Feb 01 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 Javascript
Bootstrap BootstrapDialog使用详解
Feb 17 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
vue开发拖拽进度条滑动组件
Sep 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
使用 php4 加速 web 传输
2006/10/09 PHP
php session 错误
2009/05/21 PHP
PHP print类函数使用总结
2010/06/25 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
vue组件实例解析
2017/01/10 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
python实现文件路径和url相互转换的方法
2015/07/06 Python
python实现感知器
2017/12/19 Python
python字符串循环左移
2019/03/08 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
小学教师事迹材料
2014/01/13 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
学生会竞聘书范文
2014/03/31 职场文书
房屋公证委托书
2014/04/03 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
关于python爬虫应用urllib库作用分析
2021/09/04 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python