微信小程序实现日历功能


Posted in Javascript onNovember 27, 2018

本文实例为大家分享了微信小程序实现日历功能的具体代码,供大家参考,具体内容如下

效果图:

微信小程序实现日历功能

微信小程序实现日历功能

代码:

<view class="calendar">
 <view class="selectDate">
 <view class="goleft iconfont icon-jianzuo" bindtap="prevMonth"></view>
 <view class="date-wrap">
  {{year}}年{{month}}月
 </view>
 <view class="goright iconfont icon-jianzuo" bindtap="nextMonth"></view>
 </view>
 <view class="week">
 <view wx:for="{{weekArr}}" wx:for-index="index" wx:for-item="item" wx:key="key" style="width:{{param}}px;height:{{param-17}}px;line-height:{{param-17}}px">{{item}}</view>
 </view>
 <view class="date" style='width: {{ param * 7 }}px;'>
 <block wx:for="{{dateArr}}" wx:for-index="index" wx:for-item="item" wx:key="key">
  <view style="{{index ==0?'margin-left:'+ param *firstDay +'px;':''}}width:{{param}}px;height:{{param-10}}px;line-height:{{param-10}}px;" class="{{index+1==day?'today':''}} {{index+1==day&&isClock?'clockOn':''}}"><view class="day">{{item}}</view></view>
 </block>
 </view>
</view><!--end calendar-->
data: {
 year:'',
 month:'',
 day:'',
 weekArr: ['日', '一', '二', '三', '四', '五','六'],
 dateArr:[],
 firstDay:'',
 lastDay:'',
 param:null,
 clockNum:3,
 },
getDate: function () { //获取当月日期
 var mydate = new Date();
 var year = mydate.getFullYear();
 var month = mydate.getMonth();
 var months = month + 1;
 this.data.year = year;
 this.data.month = months;
 this.data.day = mydate.getDate();
 var fist = new Date(year, month, 1);
 this.data.firstDay = fist.getDay();
 var last = new Date(year, months, 0); 
 this.data.lastDay = last.getDate();

 this.setData({
  year: this.data.year,
  month: this.data.month,
  day: this.data.day,
  firstDay: this.data.firstDay,
  lastDay: this.data.lastDay
 })
 console.log("今天:" + this.data.day);
 },
 setDate: function () {
 for (var i = 1; i < this.data.lastDay + 1; i++) {
  this.data.dateArr.push(i);
 }
 this.setData({
  dateArr: this.data.dateArr,
  firstDay: this.data.firstDay
 })
 },
 prevMonth:function(){ //上一月
 var months="";
 var years="";
 if(this.data.month ==1){
  years=this.data.year-1
  this.data.month=12;
  months=this.data.month;
 }else{
  years=this.data.year;
  months = this.data.month - 1;
 }
 
 var first = new Date(years, months-1, 1);
 this.data.firstDay = first.getDay();
 var last = new Date(years, months, 0);
 this.data.lastDay = last.getDate();
 
 this.setData({
  month: months,
  year:years,
  firstDay: this.data.firstDay,
  lastDay: this.data.lastDay
 })

 this.data.dateArr = [];
 for (var i = 1; i < this.data.lastDay + 1; i++) {
  this.data.dateArr.push(i);
 }
 this.setData({
  dateArr: this.data.dateArr
 })
 },
 nextMonth:function(){ //下一月
 var months="";
 var years="";
 if(this.data.month== 12){
  this.data.month=0;
  months = this.data.month;
  years = this.data.year+1;
 }else{
  months = this.data.month+1;
  years = this.data.year;
 }
 var months = this.data.month + 1;
 var first = new Date(years, months-1,1);
 this.data.firstDay= first.getDay();
 var last = new Date(years,months,0);
 this.data.lastDay= last.getDate();
 this.setData({
  month: months,
  year:years,
  firstDay:this.data.firstDay,
  lastDay:this.data.lastDay
 })

 this.data.dateArr = [];
 for (var i = 1; i < this.data.lastDay + 1; i++) {
  this.data.dateArr.push(i);
 }
 this.setData({
  dateArr: this.data.dateArr
 })
 },
onLoad: function (options) {
 this.getDate();
 this.setDate();
 var res = wx.getSystemInfoSync();
 this.setData({
  param:res.windowHeight/12,
 })
 },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
js 中的switch表达式使用示例
Jun 03 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 Javascript
JavaScript的Number对象的toString()方法
Dec 18 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
详解Vue源码之数据的代理访问
Dec 11 Javascript
手把手教你使用TypeScript开发Node.js应用
May 06 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 Javascript
微信小程序实现打卡日历功能
Sep 21 #Javascript
微信小程序实现时间预约功能
Nov 27 #Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 #Javascript
微信小程序自定义底部导航带跳转功能
Nov 27 #Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 #Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 #jQuery
js replace替换字符串同时替换多个方法
Nov 27 #Javascript
You might like
php中目录,文件操作详谈
2007/03/19 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
php数组去重的函数代码
2013/02/03 PHP
深入PHP curl参数的详解
2013/06/17 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
Python群发邮件实例代码
2014/01/03 Python
Python查找相似单词的方法
2015/03/05 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
详解Python locals()的陷阱
2019/03/26 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
Python3 集合set入门基础
2020/02/10 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
培训自我鉴定
2014/01/31 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
部队2015年终工作总结
2015/04/02 职场文书
党小组评议意见
2015/06/02 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python