Skip a month in calendar in EJ2 TypeScript Calendar control

26 Apr 20233 minutes to read

The following example demonstrates how to skip a month in the Calendar while clicking the previous and next icons. In the example below, theĀ navigated event is used to skip a month with navigateTo method.

import { Calendar, NavigatedEventArgs } from '@syncfusion/ej2-calendars';
//Creates a calendar component.
let calendarObject: Calendar = new Calendar({ navigated: onNavigate });
calendarObject.appendTo('#element');
//Skips a month while cliking previous and next icons in month view.
function onNavigate(args: NavigatedEventArgs) {
    let date: Date;
    if ((<HTMLElement>args.event.currentTarget).classList.contains('e-next')) {
        //Increments the month while clicking the next icon.
        date = new Date(args.date.setMonth(args.date.getMonth() + 1));
    }
    if ((<HTMLElement>args.event.currentTarget).classList.contains('e-prev')) {
        //Decrements the month while clicking the previous icon.
        date = new Date(args.date.setMonth(args.date.getMonth() - 1));
    }
    if (args.view == 'month') {+
        calendarObject.navigateTo('month', date);
    }
}
<!DOCTYPE html>
<html lang="en">

<head>
    <title>Essential JS 2 Calendar control</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Typescript UI Controls" />
    <meta name="author" content="Syncfusion" />
    <!--style reference from the Calendar component-->
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-buttons/styles/material.css" rel="stylesheet" />
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-calendars/styles/material.css" rel="stylesheet" />
    <!--style reference from app-->
    <link href="styles.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>

<body>
    <div id='loader'>LOADING....</div>
    <div id='container'>
        <!--element which is going to render the Calendar-->
        <div id='element'></div>
    </div>
</body>

</html>