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 相关文章推荐
共享自己写一个框架DreamScript
Jan 20 Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
Apr 02 Javascript
javascript 实用的文字链提示框效果
Jun 30 Javascript
JS对象与JSON格式数据相互转换
Feb 20 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
JavaScript实现继承的4种方法总结
Oct 16 Javascript
js创建对象的方式总结
Jan 10 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
ES6与CommonJS中的模块处理的区别
Jun 13 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
Feb 19 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 Undefined index报错的修复方法
2011/07/17 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP 读取和编写 XML
2014/11/19 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
Javascript 中介者模式实例
2009/12/16 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
工程部主管岗位职责
2013/11/17 职场文书
租房合同协议书
2014/04/09 职场文书
群众路线个人整改措施
2014/10/24 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
python源码剖析之PyObject详解
2021/05/18 Python
python manim实现排序算法动画示例
2022/08/14 Python