FullCalendarの導入からカレンダー毎の色指定まで
2012年7月の拙サイト改装2回目時に既に導入している「FullCalendar」について、導入からGoogleカレンダーの複数読込み、カレンダー毎の色指定までをおさらい。基本的な流れはFullCalendarサイトの解説を踏襲。
3. FullCalendarにGoogleカレンダーを読込むためのjQueryを
必ず
4.
以上、2.〜4.はBasic Usageページを参照。
次に、FullCalendarにGoogleカレンダーを読込ませる。
「className」は今回別段必要ではないが、アドレス識別のため付けた。
(7.はGoogle Calendarページを参照。)
以上で、Googleカレンダーの読込みが完了してFullCalendarに反映される。
しかし、複数のカレンダーを読込んでいるのに色が一緒でみにくい、各々のカレンダー色を変更したい、と調べたらEvent Sourceで色分けできることが判明。
以上で複数カレンダーを色分けして表示できた。
(以上は timeFormatページを参照。)
デフォルト状態 |
下記改修を施した後 |
1. ダウンロード
Downloadページから「fullcalendar-1.5.3.zip」をダウンロードして解凍後、自サーバーへアップ。2. fullcalendarのCSSとJSを読込む
<head>
タグ内に以下を記述。<link rel="stylesheet" type="text/css" href="fullcalendar.css" />
<script type="text/javascript" src="fullcalendar.js"></script>
<script type="text/javascript" src="fullcalendar.min.js"></script>
<script type="text/javascript" src="gcal.js"></script>
赤字部分は各自の階層に合うように適宜変更。3. FullCalendarにGoogleカレンダーを読込むためのjQueryを<head>
タグ内に記述
必ず<script>
タグで囲むこと。<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
// あとでここに色々追記
})
});
</script>
4. <body>
タグ内のFullCalendarを挿入したい箇所にID属性を挿入
<div id='calendar'></div>
を追記。以上、2.〜4.はBasic Usageページを参照。
次に、FullCalendarにGoogleカレンダーを読込ませる。
5. Googleカレンダーの「設定」より、読込ませるGoogleカレンダーを「一般公開」設定
6. Googleカレンダーの「設定」より、必要分のGoogleカレンダーのアドレスを「XML」ボタンより取得
7. 上記3.の「// あとでここに色々追記」の箇所にGoogleカレンダーのアドレスを記述
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
eventSources: [
{
url: "your_feed_url1",
className: "event1"
},
{
url: "your_feed_url2",
className: "event2"
}
]
})
});
</script>
複数カレンダーの読込みでは「eventSources」というoptionを使い、その中に複数のEvent Sourceを指定する場合は上記のように括弧とコンマを追加する。コンマはよく追加し忘れるので特に注意。「className」は今回別段必要ではないが、アドレス識別のため付けた。
(7.はGoogle Calendarページを参照。)
以上で、Googleカレンダーの読込みが完了してFullCalendarに反映される。
しかし、複数のカレンダーを読込んでいるのに色が一緒でみにくい、各々のカレンダー色を変更したい、と調べたらEvent Sourceで色分けできることが判明。
8. 上記7.のコードに「backgroundColor」を追加し各々の色を指定
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
eventSources: [
{
url: "your_feed_url1",
className: "event1",
backgroundColor: "#F3F5F7"
},
{
url: "your_feed_url2",
className: "event2",
backgroundColor: "#98A4AE"
}
]
})
});
</script>
コンマを追加し忘れないように。9. 他に、境界線色用の「borderColor」や文字色用の「textColor」などもあるのでこれらも指定
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
eventSources: [
{
url: "your_feed_url1",
className: "event1",
backgroundColor: "#F3F5F7",
borderColor: "#BAC2C9",
textColor: "#3E4051"
},
{
url: "your_feed_url2",
className: "event2",
backgroundColor: "#98A4AE"
}
]
})
});
</script>
(8.〜9.はEvent Source Objectページを参照。)以上で複数カレンダーを色分けして表示できた。
最後に
FullCalendarで表示される時刻表記が「12p」や「10:30a」と判りにくいので、これも変更する(なぜにこのフォーマットがデフォルト?!)。FullCalendarの時刻表記のフォーマットはformatDateページで参照し、「時間は24時間制で1桁のとき10の位に0は不要、分は常に2桁」が希望なので、フォーマットは「H:mm」。ということで、時刻表記を「timeFormat」を用いて変更するので、上記9.に追加。<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
eventSources: [
{
url: "your_feed_url1",
className: "event1",
backgroundColor: "#F3F5F7",
borderColor: "#BAC2C9",
textColor: "#3E4051"
},
{
url: "your_feed_url2",
className: "event2",
backgroundColor: "#98A4AE"
}
],
timeFormat: "H:mm"
})
});
</script>
しつこいけど、ホンマにコンマを追加し忘れるなオレ。(以上は timeFormatページを参照。)
コメント
コメントを投稿