//替代标记日期事件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就可以了。