微信小程序-实现日历功能


< 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 ,
})
},


  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值