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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
jquery获得下拉框值的代码
Aug 13 Javascript
javascript使用正则获取url上的某个参数
Sep 04 Javascript
ExpressJS入门实例
Jan 14 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 Javascript
JavaScript电子时钟倒计时
Jan 09 Javascript
JavaScript实现公历转农历功能示例
Feb 13 Javascript
JS实现的base64加密解密操作示例
Apr 18 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
JS监听滚动和id自动定位滚动
Dec 18 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 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/10/09 PHP
使用 php4 加速 web 传输
2006/10/09 PHP
php 8小时时间差的解决方法小结
2009/12/22 PHP
php生成图片缩略图的方法
2015/04/07 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
Python编程之多态用法实例详解
2015/05/19 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
高中自我评价分享
2013/12/05 职场文书
教师开学感言
2014/02/14 职场文书
写字楼租赁意向书
2014/07/30 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
工作后的感想
2015/08/07 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
Golang 编译成DLL文件的操作
2021/05/06 Golang
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
Java SSM配置文件案例详解
2021/08/30 Java/Android
Python echarts实现数据可视化实例详解
2022/03/03 Python
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
Python如何让字典保持有序排列
2022/04/29 Python