- Before
- After
- Alternate
- Alternate reverse
Contact Support
Alignment in EJ2 TypeScript Timeline control
6 Mar 202510 minutes to read
You can display the Timeline content as Before
, After
, Alternate
, and AlternateReverse
using the align property. The oppositeContent
will be displayed parallel to the content when configured in the TimelineItemModel.
Before
In Before
alignment, for horizontal
orientation, the item content is placed at the top and oppositeContent
at the bottom. For vertical
orientation, the content is on the left and oppositeContent
on the right.
import { Timeline, TimelineItemModel } from '@syncfusion/ej2-layouts';
const frameworks: TimelineItemModel[] = [
{ content: 'ReactJs', oppositeContent: 'Owned by Facebook' },
{ content: 'Angular', oppositeContent: 'Owned by Google' },
{ content: 'VueJs', oppositeContent: 'Owned by Evan you' },
{ content: 'Svelte', oppositeContent: 'Owned by Rich Harris' }
];
// Initializes the Timeline control
let timeline: Timeline = new Timeline({
items: frameworks,
align: 'Before'
});
// Render initialized Timeline.
timeline.appendTo("#timeline");
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 - Timeline</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="description" content="Essential JS 2" />
<meta name="author" content="Syncfusion" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-layouts/styles/material.css" rel="stylesheet" />
<!--style reference from app-->
<link href="styles.css" rel="stylesheet" />
<!--system js reference and configuration-->
<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' style="height: 300px;">
<div id="timeline"></div>
</div>
</body>
</html>
#container {
visibility: hidden;
margin-top: 30px;
padding: 30px;
}
#loader {
color: #008cff;
height: 40px;
left: 45%;
position: absolute;
top: 45%;
width: 30%;
}
After
In After
alignment, for horizontal
orientation, the item content is placed at the bottom and oppositeContent
at the top. For vertical
orientation, the content is on the right and oppositeContent
on the left.
import { Timeline, TimelineItemModel } from '@syncfusion/ej2-layouts';
const frameworks: TimelineItemModel[] = [
{ content: 'ReactJs', oppositeContent: 'Owned by Facebook' },
{ content: 'Angular', oppositeContent: 'Owned by Google' },
{ content: 'VueJs', oppositeContent: 'Owned by Evan you' },
{ content: 'Svelte', oppositeContent: 'Owned by Rich Harris' }
];
// Initializes the Timeline control
let timeline: Timeline = new Timeline({
items: frameworks,
align: 'After'
});
// Render initialized Timeline.
timeline.appendTo("#timeline");
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 - Timeline</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="description" content="Essential JS 2" />
<meta name="author" content="Syncfusion" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-layouts/styles/material.css" rel="stylesheet" />
<!--style reference from app-->
<link href="styles.css" rel="stylesheet" />
<!--system js reference and configuration-->
<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' style="height: 300px;">
<div id="timeline"></div>
</div>
</body>
</html>
#container {
visibility: hidden;
margin-top: 30px;
padding: 30px;
}
#loader {
color: #008cff;
height: 40px;
left: 45%;
position: absolute;
top: 45%;
width: 30%;
}
Alternate
In Alternate
alignment, the item content is arranged alternately, regardless of the Timeline orientation.
import { Timeline, TimelineItemModel } from '@syncfusion/ej2-layouts';
const frameworks: TimelineItemModel[] = [
{ content: 'ReactJs', oppositeContent: 'Owned by Facebook' },
{ content: 'Angular', oppositeContent: 'Owned by Google' },
{ content: 'VueJs', oppositeContent: 'Owned by Evan you' },
{ content: 'Svelte', oppositeContent: 'Owned by Rich Harris' }
];
// Initializes the Timeline control
let timeline: Timeline = new Timeline({
items: frameworks,
align: 'Alternate'
});
// Render initialized Timeline.
timeline.appendTo("#timeline");
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 - Timeline</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="description" content="Essential JS 2" />
<meta name="author" content="Syncfusion" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-layouts/styles/material.css" rel="stylesheet" />
<!--style reference from app-->
<link href="styles.css" rel="stylesheet" />
<!--system js reference and configuration-->
<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' style="height: 300px;">
<div id="timeline"></div>
</div>
</body>
</html>
#container {
visibility: hidden;
margin-top: 30px;
padding: 30px;
}
#loader {
color: #008cff;
height: 40px;
left: 45%;
position: absolute;
top: 45%;
width: 30%;
}
Alternate reverse
In AlternateReverse
alignment, the item content is arranged in reverse order of alternate alignment, regardless of the Timeline orientation.
import { Timeline, TimelineItemModel } from '@syncfusion/ej2-layouts';
const frameworks: TimelineItemModel[] = [
{ content: 'ReactJs', oppositeContent: 'Owned by Facebook' },
{ content: 'Angular', oppositeContent: 'Owned by Google' },
{ content: 'VueJs', oppositeContent: 'Owned by Evan you' },
{ content: 'Svelte', oppositeContent: 'Owned by Rich Harris' }
];
// Initializes the Timeline control
let timeline: Timeline = new Timeline({
items: frameworks,
align: 'Alternatereverse'
});
// Render initialized Timeline.
timeline.appendTo("#timeline");
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 - Timeline</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="description" content="Essential JS 2" />
<meta name="author" content="Syncfusion" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/29.1.33/ej2-layouts/styles/material.css" rel="stylesheet" />
<!--style reference from app-->
<link href="styles.css" rel="stylesheet" />
<!--system js reference and configuration-->
<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' style="height: 300px;">
<div id="timeline"></div>
</div>
</body>
</html>
#container {
visibility: hidden;
margin-top: 30px;
padding: 30px;
}
#loader {
color: #008cff;
height: 40px;
left: 45%;
position: absolute;
top: 45%;
width: 30%;
}