在本文中,南京小程序开发公司安优网络我们将分享微信applet的日历效果的具体代码供您参考。详情如下所示。
来源下载地址
该项目需要日历功能。实施微信小程序日历花了一天时间。JS的大小只有几K.引导字体图标(文件图标.wxss,其中包含bootstrap字体图标所需的字体)似乎是80k,以及整个图标。wxss只有几K.如果您有任何疑问,请更正。
如图所示:
index.wxml
<view>
<view>
<view>
<view>
<view bindtap="doDay" data-key='left'>
<view></view>
</view>
</view>
<view>
<view>{{currentDate}}</view>
</view>
<view>
<view bindtap="doDay" data-key="right">
<view></view>
</view>
</view>
</view>
<view>
<view>
<view>1</view>
</view>
<view>
<view>2</view>
</view>
<view>
<view>3</view>
</view>
<view>
<view>4</view>
</view>
<view>
<view>5</view>
</view>
<view>
<view>6</view>
</view>
<view>
<view>day</view>
</view>
</view>
<view>
<view wx:for="{{currentDayList}}" wx:for-index='key' wx:for-item="vo" wx:key="{{key}}">
<view wx:if="{{currentDay != vo}}">{{vo}}</view>
<view wx:else>{{vo}}</view>
</view>
</view>
</view>
</view>
index.wxss
@import '../../dist/css/icon.wxss';
page {
background-color: #2a8cef;
background:-webkit-gradient(linear, 0 0, 0 bottom, from(#2a8cef), to(#8A2BE2));
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
font-size: 14px;
}
.box {
display: block;
margin: 10px;
}
.box-flex {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
}
.flex-item {
flex-flow: nowrap;
flex-grow: 1;
flex-shrink: 1;
width: 14.2%;
}
.item-content {
margin: 5px;
padding: 0 10px;
text-align: center;
background-color: #000;
height: 2rem;
line-height: 2rem;
color: #fff;
}
.bk-color-day {
background-color: #8A2BE2;
}
.item-content-current-day {
flex-grow: 2;
}
index.js
var app = getApp();
Page({
data: {
CurrtDate:'03 May 2017'.
dayList: '',
currentDayList: '',
currentObj: '',
currentDay: ''
},
onLoad: function (options) {
var currentObj = this.getCurrentDayString()
this.setData({
CurrtDate: currentObj. getFullYear () +'year'+ (currentObj. getMonth () + 1) +'month' + currentObj. getDate () +'day',
currentDay: currentObj.getDate(),
currentObj: currentObj
})
this.setSchedule(currentObj)
},
doDay: function (e) {
var that = this
var currentObj = that.data.currentObj
var Y = currentObj.getFullYear();
var m = currentObj.getMonth() + 1;
var d = currentObj.getDate();
var str = ''
if (e.currentTarget.dataset.key == 'left') {
m -= 1
if (m <= 0) {
str = (Y - 1) + '/' + 12 + '/' + d
} else {
str = Y + '/' + m + '/' + d
}
} else {
m += 1
if (m <= 12) {
str = Y + '/' + m + '/' + d
} else {
str = (Y + 1) + '/' + 1 + '/' + d
}
}
currentObj = new Date(str)
this.setData({
CurrtDate: currentObj. getFullYear () +'year'+ (currentObj. getMonth () + 1) +'month' + currentObj. getDate () +'day',
currentObj: currentObj
})
this.setSchedule(currentObj);
},
getCurrentDayString: function () {
var objDate = this.data.currentObj
if (objDate != '') {
return objDate
} else {
var c_obj = new Date()
var a = c_obj.getFullYear() + '/' + (c_obj.getMonth() + 1) + '/' + c_obj.getDate()
return new Date(a)
}
},
setSchedule: function (currentObj) {
var that = this
var m = currentObj.getMonth() + 1
var Y = currentObj.getFullYear()
var d = currentObj.getDate();
var dayString = Y + '/' + m + '/' + currentObj.getDate()
var currentDayNum = new Date(Y, m, 0).getDate()
var currentDayWeek = currentObj.getUTCDay() + 1
var result = currentDayWeek - (d % 7 - 1);
var firstKey = result <= 0 ? 7 + result : result;
var currentDayList = []
var f = 0
for (var i = 0; i < 42; i++) {
let data =[]
if (i < firstKey - 1) {
currentDayList[i] = ''
} else {
if (f < currentDayNum) {
currentDayList[i] = f + 1
f = currentDayList[i]
} else if (f >= currentDayNum) {
currentDayList[i] = ''
}
}
}
that.setData({
currentDayList: currentDayList
})
}
})
以上是本文的全部内容。我希望它对每个人的学习都有所帮助,我希望你能更多地支持南京小程序开发公司。
本文地址:
http://www.njanyou.cn/web/2505.html
Tag:
专业服务:
南京网站制作,
南京网站制作公司,
南京网站建设公司
联系电话:025-65016872
上一篇:
南京小程序开发公司是如何通过微信小程序实现的复选框效果
下一篇:
南京网站制作为什么说滚动劫持会破坏用户体验