FullCalendarバージョン4の設置サンプル。
カレンダーの生成に便利なFullCalendarがバージョン4になり、ファイル構成や記述方法が大きく変わりましたので、簡単なサンプルを作成しました。
FullCalendarのJavaScript、CSSの各ファイル(計4点)はCDNから読み込んでいます。
サンプルはこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>FullCalendar</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/core/main.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/daygrid/main.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/core/main.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/daygrid/main.min.js"></script> <script> //本日、カレンダーの開始日、終了日と、曜日のテキストを用意します var date_now = new Date(); var date_start = new Date(date_now.getFullYear(), date_now.getMonth(), 1); var date_end = new Date(date_now.getFullYear(), date_now.getMonth(), 1); var days = ["日", "月", "火", "水", "木", "金", "土"]; date_end.setMonth(date_end.getMonth()+12); document.addEventListener("DOMContentLoaded", function() { //FullCalendarを生成します var calendar = new FullCalendar.Calendar(document.getElementById("calendar"), { //プラグインを読み込みます plugins: ["dayGrid"], //ヘッダー内の配置を、左に前月ボタン、中央にタイトル、右に次月ボタンに設定します header: { left: "prev", center: "title", right:" next" }, //ボタンのテキストを書き換えます buttonText: { prev: "前の月", next: "次の月" }, //デフォルト日を本日に設定します defaultDate: date_now, //有効期間を当月1日から12ヶ月後(1年後)に設定します。 validRange: { start: date_start, end: date_end }, //イベント情報をJSONファイルから読み込みます events: "events.json", //タイトルを書き換えます(2019年8月) titleFormat: function(obj) { return obj.date.year+"年"+(obj.date.month+1)+"月"; }, //曜日のテキストを書き換えます(日〜土) columnHeaderText: function(obj) { return days[obj.getDay()]; }, //イベントのクリック時の処理を加えます eventClick: function(obj) { alert(obj.event.title); } }); calendar.render(); }); </script> </head> <body> <!-- カレンダーのコンテナ --> <div id="calendar"></div> </body> </html> |
日本語化には標準で各言語に対応(ドキュメント)していますが、細かい調整のためにそちらはあえて使わず、個別に書き換えています。
イベント情報のJSONファイル(events.json)は次のように記述しています。外部ファイルではなく、直接記述でもOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
[ { "title": "イベント1", "start": "2019-08-15", "className": ["event event-01"] }, { "title": "イベント2", "start": "2019-09-15", "className": ["event event-02"] }, { "title": "イベント3", "start": "2019-10-15", "className": ["event event-03"] }, { "title": "イベント4", "start": "2019-11-15", "className": ["event event-04"] }, { "title": "イベント5", "start": "2019-12-15", "end": "2019-12-20", "className": ["event event-05"] } ] |