| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|
var yearSelectElement = document.querySelector('#yearSelect');
var monthSelectElement = document.querySelector('#monthSelect');
var tbody = document.querySelector('tbody');
var strongElement = document.querySelector('strong');
var nowDate = new Date();
/*
* 动态生成option
* */
var html = '';
for (var i=1970; i if (i == nowDate.getFullYear()) {
html = '' + html;
} else {
html = '' + html;
}
}
yearSelectElement.innerHTML = html;
var html = '';
for (var i=0; i if (i == nowDate.getMonth()) {
html += '';
} else {
html += '';
}
}
monthSelectElement.innerHTML = html;
pui 是一款基于jQyery开发的插件库。目前线上稳定使用已有2年多,丰富的接口,简单明了的调用方式,灵活的回调函数,让您轻轻松松打造出富有灵活交互的Web前端界面解决方案。 插件库封装了布局、表单元素、表单校验、弹窗、toast、气泡pop、tab切换、日历时间、分页、表格、树、css命名等功能
/*
* 默认显示当前年和月的日历
* */
calendar(nowDate.getFullYear(), nowDate.getMonth());
/*
* 根据选择的年和月重新生成日历
* */
yearSelectElement.onchange = monthSelectElement.onchange = function() {
calendar(yearSelectElement.value, monthSelectElement.value);
};
function calendar(year, month) {
year = Number(year);
month = Number(month);
strongElement.innerHTML = year + '年' + (month+1) + '月';
var html = '
for (var i=1; i
if (i%7 == 1 && i != 1) {
html += '
}
var v = i- getFirstDay(year, month);
if (v getDays(year, month)) {
html += '
} else {
if (i % 7 == 1 || i % 7 == 0) {
html += '
} else if (
year == nowDate.getFullYear()
&&
month == nowDate.getMonth()
&&
v == nowDate.getDate()
) {
html += '
} else {
html += '
}
}
}
html += '
tbody.innerHTML = html;
}
/*
* 获取指定显示年月份的日期总天数
* */
function getDays(y, m) {
return new Date(y, m+1, 1, -1, 0, 0).getDate();
/*
* 得到下一月的1日,-1时0分0秒的日期
* -1 : 其实就是前一天,表示就是上个月的最后一天的23时
* */
var date = new Date(y, m+1, 1, -1, 0, 0);
/*
* 上个月最后一天的日期其实就是上个月总的天数
* */
return date.getDate();
}
/*
* 获取指定显示的年月份的第一天是星期几
* */
function getFirstDay(y, m) {
return new Date(y, m, 1).getDay();
}









