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 相关文章推荐
为Extjs加加速(javascript加速)
Aug 19 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
JS常见问题整理(持续更新)
Aug 06 Javascript
AngularJS 工作原理详解
Aug 18 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
Oct 05 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
vue双向数据绑定知识点总结
Apr 18 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
Apr 04 Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
浅析Django中关于session的使用
2019/12/30 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
成品仓管员岗位职责
2013/12/11 职场文书
八一建军节感言
2014/02/28 职场文书
路政管理求职信
2014/06/18 职场文书
大学生安全责任书
2014/07/25 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
工作失误检讨书范文
2015/01/26 职场文书
python中print格式化输出的问题
2021/04/16 Python