この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
営業日カレンダーを作成したくて、FullCalendarのオプションを色々いじって実装しました。
バージョン:fullcalendar-2.4.0
js
$(document).ready(function() {
	$('#calendar').fullCalendar({
		header: {
			left: 'prev,next today',
			center: 'title',
			right: ''
		},
		buttonText: {
			today: '今日'
		},
		dayNamesShort: ['日','月','火','水','木','金','土'],
		defaultDate: '2016-02-03',
		businessHours: false,
		titleFormat: {
			month: 'MMM YYYY'
		},
		// 表示用データ
		events: [
			{
				start: '2016-02-09',
				rendering: 'background',
				color: '#ff9f89'
			},
			{
				start: '2016-02-06',
				end: '2016-02-08',
				rendering: 'background',
				color: '#ff9f89'
			},
			{
				start: '2016-02-13',
				end: '2016-02-15',
				rendering: 'background',
				color: '#ff9f89'
			},
			{
				start: '2016-02-20',
				end: '2016-02-22',
				rendering: 'background',
				color: '#ff9f89'
			},
			{
				start: '2016-02-27',
				end: '2016-02-29',
				rendering: 'background',
				color: '#ff9f89'
			},
		]
	});
});
eventsのデータの中で、
dayNamesShort: [‘日’,’月’,’火’,’水’,’木’,’金’,’土’]で曜日の表示を1文字にします。
rendering: ‘background’を指定することにより、そのイベントの日が背景色の表示になります。
color: ‘#ff9f89’を指定することにより、休日っぽい色にしています。
businessHours: falseで土日の背景色を無効にしています。
実際はevents部分のデータはjsonでサーバから取得していたのですが、今回は表示のテスト用にjsの中に記述しています。
css
body {
	margin: 40px 10px;
	padding: 0;
	font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
	font-size: 14px;
}
#calendar {
	max-width: 220px;
	margin: 0 auto;
}
max-width: 220px;でカレンダーのサイズを指定します。
また、デフォルトのままだとスクロールバーが出たりするので、微調整します。
css続き
.fc-basic-view .fc-body .fc-row {
	min-height: 1em !important;
}
.fc button {
	height: 2em !important;
	padding: 0 .1em !important;
	/* text & cursor */
	font-size: 0.8em !important;
}
jsのオプションでセルの高さを指定する方法がわからなかった(小さくできなかった)ので、fullcalendar.cssのスタイルを一部上書きしています。
これで冒頭の営業日カレンダーを作成することができました。
 
            