日歷(Calendar)是指一個系統(tǒng),用于測量時間。它以特定方式展現(xiàn)幾天、幾周或幾個月的日期。而 jQuery 是一個以 JavaScript 為基礎(chǔ)的特效框架,可以提供各類動畫、特效、交互等功能。
當(dāng)我們將這兩者結(jié)合起來,可以實現(xiàn)一個更加靈活的日期選擇器,例如一個日歷控件。在 jQuery 中,我們可以使用 Date 類來獲取當(dāng)前日期,并通過 jQuery 來創(chuàng)建我們需要的 DOM 元素。將它們結(jié)合起來,可以如下所示:
$(document).ready(function() { var today = new Date(); var currentMonth = today.getMonth(); var currentYear = today.getFullYear(); var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var monthLength = daysInMonth[currentMonth]; if (currentMonth == 1) { // February only! if ((currentYear % 4 == 0 && currentYear % 100 != 0) || currentYear % 400 == 0){ monthLength = 29; } } var html = '
' + months[currentMonth] + ' ' + currentYear + ' | ||||||
---|---|---|---|---|---|---|
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
'; dayCount++; } // Create calendar cells for (var i = 1; i<= monthLength; i++) { // Check if we need to start a new row if (dayCount >7){ html += ' | ||||||
' + i + ' | '; dayCount++; } // Create filler cells for space after the last day of the month if (dayCount >1 && dayCount<= 7) { for (var i = dayCount; i<= 7; i++) { html += ''; } } html += ' |
這個代碼片段會動態(tài)地創(chuàng)建一個帶有當(dāng)前月份所有日期的表格。它首先獲取今天的日期,然后渲染出表格中的每一天。同時,它確保日歷的結(jié)尾以空白的單元格結(jié)束,以使整個表格看起來更加整齊。