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 相关文章推荐
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
2014 年最热门的21款JavaScript框架推荐
Dec 25 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
JavaScript中自带的 reduce()方法使用示例详解
Aug 10 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
Nov 05 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
Angular 数据请求的实现方法
May 07 Javascript
关于Vue组件库开发详析
Jul 01 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模板,主要想体现一下思路
2006/12/25 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
微信小程序 自定义消息提示框
2017/08/06 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
Vue组件实现触底判断
2019/06/26 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
Python抓取京东图书评论数据
2014/08/31 Python
详解Python中for循环的使用
2015/04/14 Python
浅析Python中的join()方法的使用
2015/05/19 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
python 获取字典键值对的实现
2020/11/12 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
后备干部培训方案
2014/05/22 职场文书
啤酒节策划方案
2014/05/28 职场文书
公司庆典欢迎词
2015/01/26 职场文书
实施意见格式范本
2015/06/05 职场文书
创业计划书之酒店
2019/08/30 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery