JS简单实现移动端日历功能示例


Posted in Javascript onDecember 28, 2016

本文实例讲述了JS简单实现移动端日历功能。分享给大家供大家参考,具体如下:

只是一个初步的简单的日历,有是否显示上月和下月部分的选项

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name = "format-detection" content = "telephone=no">
  <title>移动端日历</title>
  <style type="text/css">
    table{
      width: 100%;
      border-collapse: collapse;
    }
    td {
      padding: 0;
      margin: 0;
      vertical-align: middle;
      text-align: center;
      font-size: .7rem;
      height: 1.5rem;
    }
    .none{
      display: none;
    }
  </style>
</head>
<body>
  <div class="calendar">
    <table class="calendar_day">
      <tr>
        <td>星期日</td>
        <td>星期一</td>
        <td>星期二</td>
        <td>星期三</td>
        <td>星期四</td>
        <td>星期五</td>
        <td>星期六</td>
      </tr>
    </table>
    <table class="calendar_date">
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
    </table>
  </div>
  <script type="text/javascript">
  var date = new Date();
  calendar(date,{lastandnext:true})
  function calendar (setDate,options){
    if (!options) {
      options = {};
    }
    options.lastandnext = options.lastandnext || false;
    // 星期几部分
    var calendar_days = document.getElementsByClassName('calendar_day')[0];
    var days = calendar_days.getElementsByTagName('td');
    var date = new Date(setDate);
    var y = date.getFullYear();
    var m = date.getMonth();
    var d = date.getDate();
    // 本月
    // 该月的第一天是星期几
    var firstDay = new Date(y,m,1).getDay();
    // console.log(firstDay);
    // 该月一共多少天
    var lastData = new Date(y,m+1,0).getDate();
    // console.log(lastData)
    // 该月的最后一天是星期几
    var lastDay = new Date(y,m+1,0).getDay();
    // console.log(firstDay)
    var calendar_date = document.getElementsByClassName('calendar_date')[0];
    var tds = calendar_date.getElementsByTagName('td');
    // console.log(tds)
    var ed = firstDay;
    for (var i = firstDay; i < lastData+firstDay; i++) {
      // console.log(i-firstDay+1)
      tds[i].innerHTML= i-(firstDay)+1;
    }
    if(options.lastandnext){
      // // 上月
      var lastMonthData = new Date(y,m,0).getDate();
      for(var i = firstDay-1; i >= 0; i--){
        tds[i].innerHTML= lastMonthData-(firstDay-i-1);
      }
      // 下月
      var k = 0;
      for(var i = lastData+firstDay; i < tds.length; i++){
        k++;
        tds[i].innerHTML= k;
      }
    }
  }
  </script>
  <!-- 适配 -->
  <script type="text/javascript">
    ;(function(win, doc){
      function change(){
        doc.documentElement.style.fontSize=20*doc.documentElement.clientWidth/360+'px';
      }
      change();
      win.addEventListener('resize', change, false);
    })(window, document);
  </script>
</body>
</html>

PS:这里再为大家分享几款本站的在线日期工具供大家参考:

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

网页万年历日历:
http://tools.3water.com/bianmin/webwannianli

在线万年历黄历flash版:
http://tools.3water.com/bianmin/flashwnl

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
document.documentElement &amp;&amp; document.documentElement.scrollTop
Dec 01 Javascript
JavaScript 动态改变图片大小
Jun 11 Javascript
UpdatePanel和Jquery冲突的解决方法
Apr 01 Javascript
javascripit实现密码强度检测代码分享
Dec 12 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
Dec 12 Javascript
jQuery实现3D文字特效的方法
Mar 10 Javascript
jQuery控制网页打印指定区域的方法
Apr 07 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
Jun 27 Javascript
angular forEach方法遍历源码解读
Jan 25 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 #Javascript
js+div+css下拉导航菜单完整代码分享
Dec 28 #Javascript
javascript实现简单的ajax封装示例
Dec 28 #Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 #Javascript
一句jQuery代码实现返回顶部效果(简单实用)
Dec 28 #Javascript
Web前端框架bootstrap实战【第一次接触使用】
Dec 28 #Javascript
hovertree插件实现二级树形菜单(简单实用)
Dec 28 #Javascript
You might like
ftp类(myftp.php)
2006/10/09 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
详解Puppeteer 入门教程
2018/05/09 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python文件和目录操作详解
2015/02/08 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
如何使用python切换hosts文件
2020/04/29 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
教师申诉制度
2014/01/29 职场文书
公司离职证明标准样本
2014/10/05 职场文书
数学教师求职信范文
2015/03/20 职场文书
美容院员工规章制度
2015/08/05 职场文书
治庸问责工作总结
2015/08/11 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
Python实现聚类K-means算法详解
2022/07/15 Python