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 相关文章推荐
IE8 浏览器Cookie的处理
Jan 31 Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
ionic选择多张图片上传的示例代码
Oct 10 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
详解关于Vue单元测试的几个坑
Apr 26 Javascript
js实现双人五子棋小游戏
May 28 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
javascript中的onkeyup和onkeydown区别介绍
2013/04/28 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
Python3实现从文件中读取指定行的方法
2015/05/22 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
Python3爬楼梯算法示例
2019/03/04 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
virtualenv介绍及简明教程
2020/06/23 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
程序员岗位职责
2013/11/11 职场文书
安全责任书范文
2014/03/12 职场文书
租车协议书范本
2014/04/22 职场文书
我的中国心演讲稿
2014/09/04 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android