js原生日历的实例(推荐)


Posted in Javascript onOctober 31, 2017

突然发现日期对象可以进行 加减 , 利用这个特性写了一个可以说是对只要会JavaScript  的就可以写的日历;没有各种算法,只有一些逻辑相信只要懂javascript就差不多看俩眼就会的日历。

js原生日历的实例(推荐)

<!DOCTYPE html> 
<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title></title> 
  <style type="text/css"> 
   *{ 
    margin: 0px; 
    padding: 0px; 
   } 
   #data{ 
    width: 280px; 
    border: 1px solid #000000; 
    margin: 20px auto; 
   } 
   #data > p{ 
    display: flex; 
   } 
   #data > h5{ 
    text-align: center; 
   } 
   #data > p > span{ 
    padding: 0 10px; 
   } 
   #prev,#next{ 
    cursor: pointer; 
   } 
   #nian{ 
    flex: 1; 
    text-align: center; 
   } 
   #title{ 
    overflow: hidden; 
    list-style: none; 
    background: #ccc; 
   } 
   #title > li{ 
    float: left; 
    width: 40px; 
    height: 26px; 
    line-height: 26px; 
    text-align: center; 
   } 
   #date{ 
    overflow: hidden; 
    list-style: none; 
   } 
   #date > li{ 
    float: left; 
    width: 34px; 
    height: 34px; 
    margin: 1px 1px; 
    border: 2px solid rgba(0,0,0,0); 
    line-height: 34px; 
    text-align: center; 
    cursor: pointer; 
   } 
   #date > .hover:hover{ 
    border: 2px solid red; 
   } 
    
   .active{ 
    color: red; 
   } 
  </style> 
 </head> 
 <body> 
   
  <div id="data"> 
   <p> 
    <span id="prev">上一月</span> 
    <span id="nian">2017</span> 
    <span id="next">下一月</span> 
   </p> 
   <h5 id="yue">一月</h5> 
   <ul id="title"> 
    <li>日</li> 
    <li>一</li> 
    <li>二</li> 
    <li>三</li> 
    <li>四</li> 
    <li>五</li> 
    <li>六</li> 
   </ul> 
   <ul id="date"> 
   </ul> 
  </div> 
   
  <script type="text/javascript"> 
   var dat = new Date(); //当前时间 
   var nianD = dat.getFullYear();//当前年份 
   var yueD = dat.getMonth(); //当前月 
   var tianD = dat.getDate(); //当前天 这保存的年月日 是为了 当到达当前日期 有对比 
    
   add(); //进入页面第一次渲染 
    
   function add(){ 
    document.getElementById('date').innerHTML = ""; 
     
    var nian = dat.getFullYear();//当前年份 
    var yue = dat.getMonth(); //当前月 
    var tian = dat.getDate(); //当前天 
    var arr=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]; 
    document.getElementById('nian').innerText = nian; 
    document.getElementById('yue').innerText = arr[yue]; 
     
    var setDat = new Date(nian,yue + 1,1 - 1); //把时间设为下个月的1号 然后天数减去1 就可以得到 当前月的最后一天; 
    var setTian = setDat.getDate(); //获取 当前月最后一天 
    var setZhou = new Date(nian,yue,1).getDay(); //获取当前月第一天 是 周几 
     
    for(var i=0;i<setZhou ;i++){//渲染空白 与 星期 对应上 
     var li=document.createElement('li'); 
     document.getElementById('date').appendChild(li); 
    } 
     
    for(var i=1;i<=setTian;i++){//利用获取到的当月最后一天 把 前边的 天数 都循环 出来 
     var li=document.createElement('li'); 
     li.innerText = i; 
     if(nian == nianD && yue == yueD && i == tianD){ 
      li.className = "active"; 
     }else{ 
      li.className = "hover"; 
     } 
      
     document.getElementById('date').appendChild(li); 
    } 
     
   } 
    
   document.getElementById("next").onclick = function(){ 
    dat.setMonth(dat.getMonth() + 1); //当点击下一个月时 对当前月进行加1; 
    add(); //重新执行渲染 获取去 改变后的 年月日 进行渲染; 
   }; 
   document.getElementById("prev").onclick = function(){ 
    dat.setMonth(dat.getMonth() - 1); //与下一月 同理 
    add(); 
   }; 
  </script> 
 </body> 
</html>

以上这篇js原生日历的实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
跟随鼠标旋转的文字
Nov 30 Javascript
5 cool javascript apps
Mar 24 Javascript
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
动态标签 悬停效果 延迟加载示例代码
Nov 21 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
May 06 Javascript
JS实现Select的option上下移动的方法
Mar 01 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
May 10 Javascript
利用Javascript实现BMI计算器
Aug 16 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
Mar 14 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 Javascript
vue路由的配置和页面切换详解
Sep 09 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 #Javascript
详解RequireJs官方使用教程
Oct 31 #Javascript
React Native中导航组件react-navigation跨tab路由处理详解
Oct 31 #Javascript
ES6解构赋值实例详解
Oct 31 #Javascript
js 获取json数组里面数组的长度实例
Oct 31 #Javascript
jQuery读取本地的json文件(实例讲解)
Oct 31 #jQuery
canvas绘制爱心的几种方法总结(推荐)
Oct 31 #Javascript
You might like
php 分页原理详解
2009/08/21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
js实现简单模态框实例
2018/11/16 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
python在控制台输出进度条的方法
2015/06/20 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python matlibplot绘制3D图形
2018/07/02 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
python openCV自制绘画板
2020/10/27 Python
python中的时区问题
2021/01/14 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
面向对象设计的原则是什么
2013/02/13 面试题
什么是servlet
2012/05/08 面试题
毕业生求职推荐信
2013/11/04 职场文书
编辑硕士自荐信范文
2013/11/27 职场文书
小区门卫值班制度
2014/01/24 职场文书
一分钟演讲稿
2014/04/30 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
北京爱情故事观后感
2015/06/12 职场文书