全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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日历插件使用方法汇总》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 日历  # js css+html实现简单的日历  # 轻量级的原生js日历插件calendar.js使用指南  # JS学习之一个简易的日历控件  # Vue.js创建Calendar日历效果  # JS日历 推荐  # 纯js简单日历实现代码  # js日历控件(可精确到分钟)  # php+javascript的日历控件  # JS实现一个简单的日历  # JavaScript自定义日历效果  # 请点击  # 有多少  # 上月  # 一枚  # 下月  # 大家多多  # 清空  # 无标题文档  # 博文  # 平时  # relative  # bottom  # position  # border  # hidden  # overflow  # solid  # li  # line  # dateList 


相关文章: 建站VPS配置与SEO优化指南:关键词排名提升策略  佛山网站制作系统,佛山企业变更地址网上办理步骤?  建站VPS能否同时实现高效与安全翻墙?  Swift中swift中的switch 语句  招贴海报怎么做,什么是海报招贴?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何快速选择适合个人网站的云服务器配置?  黑客如何利用漏洞与弱口令入侵网站服务器?  linux top下的 minerd 木马清除方法  建站主机是否属于云主机类型?  广东企业建站网站优化与SEO营销核心策略指南  建站VPS推荐:2025年高性能服务器配置指南  开源网站制作软件,开源网站什么意思?  如何在阿里云高效完成企业建站全流程?  如何配置支付宝与微信支付功能?  制作网站的公司有哪些,做一个公司网站要多少钱?  Android使用GridView实现日历的简单功能  如何用搬瓦工VPS快速搭建个人网站?  如何在景安云服务器上绑定域名并配置虚拟主机?  定制建站价位费用解析与套餐推荐全攻略  如何在阿里云ECS服务器部署织梦CMS网站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站上市公司网站建设方案与SEO优化服务定制指南  c++怎么用jemalloc c++替换默认内存分配器【性能】  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  建站之星如何防范黑客攻击与数据泄露?  制作网站的基本流程,设计网站的软件是什么?  建站主机功能解析:服务器选择与快速搭建指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  建站主机类型有哪些?如何正确选型  制作国外网站的软件,国外有哪些比较优质的网站推荐?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  制作网站的模板软件,网站怎么建设?  网站制作公司排行榜,抖音怎样做个人官方网站  C#怎么创建控制台应用 C# Console App项目创建方法  建站之星代理费用多少?最新价格详情介绍  如何快速辨别茅台真假?关键步骤解析  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  小型网站制作HTML,*游戏网站怎么搭建?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  金*站制作公司有哪些,金华教育集团官网?  高端建站如何打造兼具美学与转化的品牌官网?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速使用云服务器搭建个人网站?  实例解析angularjs的filter过滤器  建站主机选购指南:核心配置优化与品牌推荐方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。