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 相关文章推荐
用javascript来实现动画导航效果的代码
Dec 16 Javascript
jquery监听div内容的变化具体实现思路
Nov 04 Javascript
jquery三个关闭弹出层的小示例
Nov 05 Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
深入讲解AngularJS中的自定义指令的使用
Jun 18 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
Vue表单及表单绑定方法
Sep 04 Javascript
vue实现拖拽的简单案例 不超出可视区域
Jul 25 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 无极分类(递归)实现代码
2010/01/05 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
用python进行视频剪辑
2020/11/02 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
质量保证书范本
2014/04/29 职场文书
实习协议书
2015/01/27 职场文书
高考1977观后感
2015/06/04 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers