十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关怎么在小程序中实现一个横向滑动日历效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

专注于为中小企业提供网站建设、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业浦江免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
具体内容如下
{{ item.week }} {{ item.date }}
js:
function getThisMonthDays(year, month) {
return new Date(year, month, 0).getDate();
}
// 计算每月第一天是星期几
function getFirstDayOfWeek(year, month) {
return new Date(Date.UTC(year, month - 1, 1)).getDay();
}
const date = new Date();
const cur_year = date.getFullYear();
const cur_month = date.getMonth() + 1;
const cur_date = date.getDate();
const weeks_ch = ['日', '一', '二', '三', '四', '五', '六'];
//利用构造函数创建对象
function calendar(date, week) {
this.date = cur_year + '-' + cur_month + '-' + date;
if (date == cur_date) {
this.week = "今天";
} else if (date == cur_date + 1) {
this.week = "明天";
} else {
this.week = '星期' + week;
}
}
//当前月份的天数
var monthLength = getThisMonthDays(cur_year, cur_month)
//当前月份的第一天是星期几
var week = getFirstDayOfWeek(cur_year, cur_month)
var x = week;
for (var i = 1; i <= monthLength; i++) {
//当循环完一周后,初始化再次循环
if (x > 6) {
x = 0;
}
//利用构造函数创建对象
that.data.calendar[i] = new calendar(i, [weeks_ch[x]][0])
x++;
}
//限制要渲染的日历数据天数为7天以内(用户体验)
var flag = that.data.calendar.splice(cur_date, that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length : 7)
that.setData({
calendar: flag
})
selectd = flag;
// console.log(selectd);
var ret_id = [];
const lengths = selectd.length
for (let i = 0; i < lengths; i++) {
ret_id[i] = selectd[i].date;
}
choosedate = ret_id[0];
//设置scroll-view的子容器的宽度
that.setData({
width: 186 * parseInt(that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length : 7)
})CSS:
/*日历开始 */
scroll-view{
height: 128rpx;
width: 101%;
position:fixed;
top:355rpx;
}
scroll-view .list{
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
}
scroll-view .listItem{
text-align: center;
width:187rpx;
height: 128rpx;
background: #f4f4f4;
padding-top: 30rpx;
box-sizing: border-box;
display: inline-block;
}
scroll-view .listItem text{
display: block;
}
scroll-view .listItem .name{
font-size: 25rpx;
}
scroll-view .listItem .date{
font-size: 25rpx;
}
scroll-view .current{
background-color:pink;
width:200rpx;
position:relative;
}
scroll-view .current text{
color: #fff;
}看完上述内容,你们对怎么在小程序中实现一个横向滑动日历效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。