Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5dbb13956 |
@@ -146,28 +146,18 @@
|
|||||||
renderCalendar();
|
renderCalendar();
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 选择月份 */
|
/** 切换月份 */
|
||||||
window.selectCalMonth = function(mIdx) {
|
window.changeCalMonth = function(dir) {
|
||||||
calMonth = mIdx;
|
calMonth += dir;
|
||||||
|
if (calMonth > 11) { calMonth = 0; calYear++; }
|
||||||
|
if (calMonth < 0) { calMonth = 11; calYear--; }
|
||||||
renderCalendar();
|
renderCalendar();
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 渲染年-月-周选择器 */
|
/** 渲染年-月-周选择器 */
|
||||||
function renderCalendar() {
|
function renderCalendar() {
|
||||||
document.getElementById('cal-year-label').textContent = calYear + '年';
|
document.getElementById('cal-year-label').textContent = calYear + '年';
|
||||||
|
document.getElementById('cal-month-label').textContent = (calMonth + 1) + '月';
|
||||||
// 月份标签
|
|
||||||
var monthsList = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];
|
|
||||||
var today = new Date();
|
|
||||||
var todayMonth = today.getFullYear() === calYear ? today.getMonth() : -1;
|
|
||||||
var mHtml = '';
|
|
||||||
for (var i = 0; i < 12; i++) {
|
|
||||||
var mc = 'cal-month-btn';
|
|
||||||
if (i === calMonth) mc += ' active';
|
|
||||||
if (i === todayMonth) mc += ' today';
|
|
||||||
mHtml += '<button class="' + mc + '" onclick="selectCalMonth(' + i + ')">' + monthsList[i] + '</button>';
|
|
||||||
}
|
|
||||||
document.getElementById('cal-months').innerHTML = mHtml;
|
|
||||||
|
|
||||||
// 计算该月包含的周
|
// 计算该月包含的周
|
||||||
var firstDay = new Date(calYear, calMonth, 1);
|
var firstDay = new Date(calYear, calMonth, 1);
|
||||||
|
|||||||
@@ -208,30 +208,15 @@ body {
|
|||||||
color: var(--text-dim);
|
color: var(--text-dim);
|
||||||
}
|
}
|
||||||
.cal-nav:hover { background: var(--bg); color: var(--text); }
|
.cal-nav:hover { background: var(--bg); color: var(--text); }
|
||||||
/* 月份按钮 */
|
/* 月份翻页行 */
|
||||||
.cal-months {
|
.cal-month-header {
|
||||||
display: grid;
|
padding: 4px 14px 8px;
|
||||||
grid-template-columns: repeat(4, 1fr);
|
|
||||||
gap: 3px;
|
|
||||||
padding: 0 14px 8px;
|
|
||||||
}
|
}
|
||||||
.cal-month-btn {
|
.cal-month-header .cal-month-label {
|
||||||
padding: 4px 0;
|
font-size: 14px;
|
||||||
border: 1px solid transparent;
|
font-weight: 600;
|
||||||
border-radius: 6px;
|
color: var(--text);
|
||||||
background: var(--card);
|
|
||||||
font-size: 11px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: var(--text-dim);
|
|
||||||
cursor: pointer;
|
|
||||||
text-align: center;
|
|
||||||
transition: all 0.15s;
|
|
||||||
font-family: inherit;
|
|
||||||
}
|
}
|
||||||
.cal-month-btn:hover { border-color: var(--border); color: var(--text); }
|
|
||||||
.cal-month-btn.active { background: var(--primary); color: #FFF; }
|
|
||||||
.cal-month-btn.today { border-color: var(--primary); }
|
|
||||||
.cal-month-btn.today:not(.active) { color: var(--primary); }
|
|
||||||
|
|
||||||
/* 周选择 */
|
/* 周选择 */
|
||||||
.cal-weeks {
|
.cal-weeks {
|
||||||
|
|||||||
@@ -114,7 +114,15 @@
|
|||||||
<svg class="icon-sm"><use href="#icon-chevron-right"/></svg>
|
<svg class="icon-sm"><use href="#icon-chevron-right"/></svg>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="cal-months" id="cal-months"></div>
|
<div class="cal-header cal-month-header">
|
||||||
|
<button class="cal-nav" onclick="changeCalMonth(-1)">
|
||||||
|
<svg class="icon-sm"><use href="#icon-chevron-left"/></svg>
|
||||||
|
</button>
|
||||||
|
<span class="cal-month-label" id="cal-month-label">7月</span>
|
||||||
|
<button class="cal-nav" onclick="changeCalMonth(1)">
|
||||||
|
<svg class="icon-sm"><use href="#icon-chevron-right"/></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div class="cal-weeks" id="cal-weeks"></div>
|
<div class="cal-weeks" id="cal-weeks"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user