微信小程序实现日历功能


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 相关文章推荐
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
js replace替换所有匹配的字符串
Feb 13 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
教你如何在Node.js中使用jQuery
Aug 28 Javascript
JavaScript中绑定事件的三种方式及去除绑定
Nov 05 Javascript
jQuery解析返回的xml和json方法详解
Jan 05 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
运动会解说词50字
2014/01/18 职场文书
基层干部十八大感言
2014/01/19 职场文书
装饰活动策划方案
2014/02/11 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
装修活动策划方案
2014/08/27 职场文书
2014年基建工作总结
2014/12/12 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
求职自我评价参考范文
2019/05/16 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
python基于opencv批量生成验证码的示例
2021/04/28 Python
pytorch实现手写数字图片识别
2021/05/20 Python