Flexible Event Calendar In jQuery - evo-calendar

Flexible Event Calendar In jQuery - evo-calendar
File Size: 40.3 KB
Views Total: 5158
Last Update:
Publish Date:
Official Website: Go to website
License: MIT

evo-calendar is a flexible event calendar plugin to display events in a responsive, modern-looking calendar interface.


  • Allows you to switch between months from the collapsible sidebar.
  • Shows events on the right panel.
  • Adds new events.
  • Multiple languages.
  • Custom date format.
  • Highlights today's date in the calendar.
  • Allows to display multiple events on the same day.
  • 4 addtional themes.

See It In Action:

How to use it:

1. Import the jQuery evo-calendar plugin's JavaScript and CSS files into the HTML document.

<!-- Core Stylesheet -->
<link rel="stylesheet" href="evo-calendar.css" />
<!-- Optional Themes -->
<link rel="stylesheet" href="evo-calendar.midnight-blue.css" />
<link rel="stylesheet" href="evo-calendar.orange-coral.css" />
<link rel="stylesheet" href="evo-calendar.royal-navy.css" />
<!-- JavaScript -->
<script src="jquery.min.js"></script>
<script src="evo-calendar.js"></script>

2. Create a container to hold the event calendar.

<div id="evoCalendar"></div>

3. Create events in an array of objects containing dates, event names and event types (event, holiday, birthday).

myEvents = [
  { name: "New Year", date: "Wed Jan 01 2020 00:00:00 GMT-0800 (Pacific Standard Time)", type: "holiday", everyYear: true },
  { name: "Valentine's Day", date: "Fri Feb 14 2020 00:00:00 GMT-0800 (Pacific Standard Time)", type: "holiday", everyYear: true },
  { name: "Birthday", date: "February/3/2020", type: "birthday" },
  { name: "Author's Birthday", date: "February/15/2020", type: "birthday", everyYear: true },
  { name: "Holiday", date: "February/15/2020", type: "event" },

4. Call the function to generate an event calendar on the page.

  calendarEvents: myEvents

5. Customize the date format.

  format: 'mm/dd/yyyy',
  titleFormat: 'MM yyyy',
  eventHeaderFormat: 'MM d, yyyy'

6. Localize the event calendar. Defaults to 'en'.

  language: 'en'
dates: {
  en: {
      days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
      daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
      daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
      months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
      monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

7. Determine whether to highlight today's date. Defaults to false.

  todayHighlight: false

8. Enable/disable the sidebar & event panel toggler. Defaults to true.

  sidebarToggler: true,
  sidebarDisplayDefault: true,
  eventListToggler: true,
  eventDisplayDefault: true,

9. Determine the first day of the week. Defaults to 0 (Sunday).

  firstDayOfWeek: 1 // Monday

10. Determine an array of dates to be disabled. Defaults to 'null'.

  disabledDate: ["02/17/2020", "02/21/2020"]

11. Execute a function after a date is selected.

  onSelectDate: function() {
    // console.log('onSelectDate!')

12. Add a new event to the calendar.

$("#evoCalendar").evoCalendar('addCalendarEvent', [
   name: "NEW EVENT",
   date: "February/16/2020",
   type: "birthday",
   everyYear: true

13. Determine the theme of the calendar.

  • Midnight Blue
  • Royal Navy
  • Orange Coral
  theme: 'Orange Coral'

14. API Methods.

// set theme
$("#evoCalendar").evoCalendar('setTheme', themeName);

// toggle sidebar
$("#evoCalendar").evoCalendar('toggleSidebar', true/false);

// get the selected date

// select a year
$("#evoCalendar").evoCalendar('selectYear', yearNumber);

// select a month
$("#evoCalendar").evoCalendar('selectMonth', monthNumber);

// select a date
$("#evoCalendar").evoCalendar('selectDate', dateNumber);

// add events
$("#evoCalendar").evoCalendar('addCalendarEvent', [{
  id: 'Event ID',
  name: "Event Name",
  date: "Date Here",
  type: "Event Type",
  everyYear: true

// remove events by ID
$("#evoCalendar").evoCalendar('removeCalendarEvent', eventID);

// destroy the calendar

15. Event handlers.

  // options here
.on('selectDate', function() {
  // do something
.on('selectEvent', function() {
  // do something
.on('destroy', function() {
  // do something



  • Adjust firstDayOfWeek setting (from string to number).


  • Optimized & Fixed

v1.0 (2020-04-25)

  • Added themes, methods, and events.


  • Fix new settings


  • Added 'firstDayOfWeek' option.

This awesome jQuery plugin is developed by edlynvillegas. For more Advanced Usages, please check the demo page or visit the official website.