menu

FullCalendarで特定の日付に飛ぶボタンを設置する

公開日:2024年06月24日 カテゴリー:JavaScript, 開発
みなさんは1ヶ月後の1週間の予定、前月の同日の予定を確認したいということはありませんか?
今回はFullCalendarを利用したカレンダー画面で、単に前週/次週に飛ぶだけでなく、特定の日付に飛ぶようなカスタムボタンを設置してみましたのでご紹介します。
使用したバージョンはFullCalendar v5.11.3です(`・ω・´)ゞ

やりたいこと

・ウィークリー表示のときに、月単位で同日の週に飛ぶボタンを追加したい

・デイリー表示のときに、月単位で同日に飛ぶボタンを追加したい

デフォルトで設置できるボタンは、ウィークリーカレンダーだと前週/次週、デイリーカレンダーだと前日/次日に遷移するため、少しカスタマイズする必要があります。

 

サンプルコード

手順を追って説明していきます(*‘ω‘ *)

customButtonsで追加したいボタン(prevMonthとnextMonth)を作成する。

②カスタムボタンのclickイベントに、gotoDateメソッドを利用して特定の日付へ飛ばす処理を記述。今回は前月/次月へ飛ばしたかったため、その日付を指定する。

③「今日」ボタン押下時に、カスタムボタン用に日付を保持していた変数dateを当日でリセットする。

headerToolbarに①で作成したカスタムボタンを追加する。

⑤マンスリー表示のときはこのボタンは表示したくなかったため、datesSetで表示の制御を行う。datesSetは、新しい日付範囲に移動したときにトリガーされるイベントなので、そのときにCSSで非表示にするような処理を追加。受け取るパラメータviewには新しい表示範囲に関する詳細情報が入っており、そこからカレンダータイプを取得。

 

完成形がコチラ▼▼▼

マンスリーカレンダー

初期表示にしているマンスリーカレンダーでは、前月/次月ボタンは表示されていません。

ウィークリーカレンダー

ウィークリーに切り替えると、「前月」「次月」ボタンが表示されます。「次月」ボタンを押下すると、

6/18の1か月後、7/18の週が表示されます。

デイリーカレンダー

デイリーカレンダーでも「前月」「次月」ボタンが表示されています。「次月」ボタンを押下すると、

1か月後の7/18が表示されます。

 

おわりに

gotoメソッドに特定の日付を設定しているだけなので、毎月末に飛ばす、締め日に飛ばすなど、自由にカスタマイズできます👍

最後までお読みいただきありがとうございました。

 

 

ウィズテクノロジーで一緒に働きませんか?
分野を限定せず幅広い事業を展開。新しい技術の導入にも積極的に取り組んでおり、チャレンジや成長する機会が沢山。
あなたの経験・知識を活かしながら一緒にIT業界を盛り上げて行きましょう!
採用情報詳細はコチラ