//替代标记日期事件myCalendar.addMark('2016-3-7', 'test');
function addMarkpp(data) {
var daysElement = arrayfrompp(container.querySelectorAll('.sc-item'));
var year = $(".sc-select-year").val();
var month = $(".sc-select-month").val();
var currentmonth = month - 1;
if (data) {
daysElement.forEach(function(v, i) {
var day = +v.querySelector('.day').innerHTML;
if (day == 1) currentmonth++;
if (data[year + '-' + currentmonth + '-' + day]) {
v.classList.add('sc-mark');
v.title = data[year + '-' + currentmonth + '-' + day];
} else {
v.classList.remove('sc-mark');
v.title = '';
}
});
}
}
$(".sc-item").click(function() { //天数格添加点击事件。
var year = $(".sc-select-year").val(); //获取当前选择年份。
var month = $(".sc-select-month").val(); //获取当前选择月份。
if ($(this).hasClass("sc-othermenth")) {
//console.log('不是本月的')
if ($(this).children(".day").html() > 20) {
//console.log('日期大于20,说明上月的')
month = parseInt(month) - 1;
}
if ($(this).children(".day").html() < 10) {
//console.log('日期小于10,说明次月的')
month = parseInt(month) + 1;
}
}
var day = $(this).children(".day").html(); //获取当前选择天数。
var date = year + "-" + month + "-" + day;
// AddMark(date);
});
$(".sc-item").click(function() { //天数格添加点击事件。
var year = $(".sc-select-year").val(); //获取当前选择年份。
var month = $(".sc-select-month").val(); //获取当前选择月份。
if ($(this).hasClass("sc-othermenth")) {
//console.log('不是本月的')
if ($(this).children(".day").html() > 20) {
//console.log('日期大于20,说明上月的')
month = parseInt(month) - 1;
}
if ($(this).children(".day").html() < 10) {
//console.log('日期小于10,说明次月的')
month = parseInt(month) + 1;
}
}
var day = $(this).children(".day").html(); //获取当前选择天数。
var date = year + "-" + month + "-" + day;
// AddMark(date);
});
日历显示应为6行,现在只显示了5行,这样会导致有些日期没了。例如2019年9月份和12月份只有29天。
原代码:
for (var i = 0; i < 35; i++) {
......
}
//对每一个格子遍历
for (var i = 0; i < 35; i++) {
......
}
修改为:
for (var i = 0; i < 42; i++) {
......
}
//对每一个格子遍历
for (var i = 0; i < 42; i++) {
......
}将对日历格子的遍历次数改成42就可以了。