进阶版(选择区间日历):https://blog.csdn.net/qq_40591925/article/details/84834692
rili.js:
var bianLIyear;
var bianLImonth;
var bianLIday;
var riLi = []
var shangY = []
var xiaY = []
var xianxuNZ = [];
Page({
data: {
date: ['日', '一', '二', '三', '四', '五', '六'],
year: null,//遍历的年
month: null,//遍历的月
day: null,
xianShi: null,//今天的年月
xianDay: null,//几天的日期
xianShiZongData:[],//今后一年遍历的日期
jiaShu:1,
animationData:''
},
onLoad: function () {
this.yunXian();
},
onReady:function(){
},
yunXian:function(){
var myDate = new Date();
var year = myDate.getFullYear()
var month = myDate.getMonth() + 1
var day = myDate.getDate()
var jiaYue = month+6;
var shangBu;
var xiabu;
if (jiaYue>12){
shangBu=12
xiabu = jiaYue-12
}
else{
console.log(jiaYue)
}
if (jiaYue>12){
for (let l = year; l <= parseInt(year) + 1; l++) {
if (jiaYue > 12) {
if (l == year) {
for (let ll = month; ll <= shangBu; ll++) {
bianLIyear = l;
bianLImonth = ll;
bianLIday = day
this.kaiSHiyun();
}
}
else {
for (let ll = 1; ll <= xiabu; ll++) {
bianLIyear = l;
bianLImonth = ll;
bianLIday = day
this.kaiSHiyun();
}
}
}
}
}
else{
for (let l = year; l <= parseInt(year); l++) {
for (let ll = month; ll <= jiaYue; ll++) {
bianLIyear = l;
bianLImonth = ll;
bianLIday = day
this.kaiSHiyun();
}
}
}
if (month.toString().length < 2){
month = '0' + month
}
else{
month = month
}
this.setData({
xianShiZongData: xianxuNZ,
xianShi: year + '-' + month,
xianDay: day,
})
},
kaiSHiyun:function(){
riLi = []
shangY = []
xiaY = []
var dayNum = new Date(bianLIyear, bianLImonth, 0).getDate();
var dayNumS = new Date(bianLIyear, parseInt(bianLImonth) - 1, 0).getDate();
var dayNumX = new Date(bianLIyear, parseInt(bianLImonth) + 1, 0).getDate();
var startWeek = new Date('' + bianLIyear + ',' + bianLImonth + ',1').getDay();
for (var ij = startWeek - 1; ij >= 0; ij--) {
shangY.push(parseInt(dayNumS) - parseInt(ij))
}
for (var ii = 1; ii <= dayNum; ii++) {
var riqi = {};
riqi.data = ii;
riqi.Num = startWeek + (ii - 1) % 7
riLi.push(riqi)
}
var shu = riLi.length + shangY.length;
if (shu % 7>0){
for (var ijj = 1; ijj <= 7 - shu % 7; ijj++) {
xiaY.push(ijj)
}
}
var panXZhong = {};
var jiaBianLiyue
if (bianLImonth.toString().length<2){
jiaBianLiyue = '0' + bianLImonth
}
else{
jiaBianLiyue = bianLImonth
}
panXZhong.xian = bianLIyear + '-' + jiaBianLiyue
panXZhong.xainData = riLi
panXZhong.shangData = shangY
panXZhong.xiaData = xiaY
xianxuNZ.push(panXZhong)
},
dianXuan:function(e){
var shiJIan = e.currentTarget.dataset.shi + '-' + e.currentTarget.dataset.day
var xuanriArr = shiJIan.split("-");
var chang;
var that = this;
wx.createSelectorQuery().select('#page').boundingClientRect(function (rect) {
chang = rect.height;
var animation = wx.createAnimation({
transformOrigin: "50% 50%",
duration: 1000,
timingFunction: "ease",
delay: 0
})
animation.translateY(chang).step()
if (xuanriArr[1].length<2){
var xuanYue = '0' + xuanriArr[1]
}
else{
var xuanYue = xuanriArr[1]
}
if (xuanriArr[2].length < 2) {
var xuanRi = '0' + xuanriArr[2]
}
else {
var xuanRi = xuanriArr[2]
}
that.setData({
animationData: animation.export(),
xuanShiJian: e.currentTarget.dataset.shi,
xuanDayShi: e.currentTarget.dataset.day,
xuanri: xuanYue + '-' + xuanRi
})
}).exec();
wx.showToast({
title:shiJIan,
icon: 'success',
duration: 2000
})
},
quXiao: function () {
var chang;
var that = this;
wx.createSelectorQuery().select('#page').boundingClientRect(function (rect) {
chang = rect.height;
var animation = wx.createAnimation({
transformOrigin: "50% 50%",
duration: 1000,
timingFunction: "ease",
delay: 0
})
animation.translateY(chang).step()
that.setData({
animationData: animation.export(),
tiao:'tiao',
xuanShiJian: "",
xuanDayShi: "",
xuanri: ""
})
}).exec();
},
quding:function(){
var chang;
var that = this;
wx.createSelectorQuery().select('#page').boundingClientRect(function (rect) {
chang = rect.height;
var animation = wx.createAnimation({
transformOrigin: "50% 50%",
duration: 1000,
timingFunction: "ease",
delay: 0
})
animation.translateY(chang).step()
that.setData({
animationData: animation.export(),
})
}).exec();
},
/****************其他事件************************* */
xianShi:function(){
var chang;
var that = this;
wx.createSelectorQuery().select('#page').boundingClientRect(function (rect) {
chang = rect.height;
var animation = wx.createAnimation({
transformOrigin: "50% 50%",
duration: 500,
timingFunction: "ease",
delay: 0
})
animation.translateY(-chang).step()
that.setData({
animationData: animation.export()
})
}).exec();
}
})
下载地址:https://download.csdn.net/download/qq_40591925/10556030