When new users visit your website or product you should demonstrate your product features using a step-by-step guide. 

Even when you develop and add a new feature to your product, you should be able to represent them to your users using a user-friendly solution. Intro.js is developed to enable web and mobile developers to create a step-by-step introduction easily.

DOWNLOAD 
 
EXAMPLES
 Hello world

This is a basic usage of the library. You can define steps by adding data-intro attribute to the HTML elements. This is the easiest way to setup your step-by-step guide.

DEMO SOURCE
 Progress bar

Add progress-bar to your step-by-step introduction. It's as easy as adding showProgress option to your Intro.js instance (e.g.introJs().setOption('showProgress', true).start();)

DEMO SOURCE
 Hint NEW

Hints are the new feature in Intro.js that enables you to add additional descriptions to any part of a web page. You can define hints by adding data-hint attribute to the HTML elements.

DEMO SOURCE
 Programmatic Hint NEW

You can add/alter hints using JavaScript objects (or JSON). Also, you can optionally bind a function to hint events (e.g. hint click, hint close)

DEMO SOURCE
 Enable/disable options

You can enable or disable options like buttons, progress-bar and bullets. It's really easy to enable or disable options, call the option function and pass option name (e.g. setOption('showBullets', false))

DEMO SOURCE
 Programmatic

Instead of adding data-intro attribute, you can define your guide using JSON. There is a stepsoption that accepts an array of steps.

DEMO SOURCE
 Right to Left

If your website is right-to-left, you can use this example for your guides. This will change the direction of all introduction elements.

DEMO SOURCE
 Multi-page guide

If your guide begins on a page and ends on another page, you can use multi-page option of Intro.js. This is a basic example of multi-page introductions.

DEMO SOURCE
 HTML in tooltip

You can use all HTML tags for step's tooltip. For instance you can use b or code tags in tooltips.

DEMO SOURCE
 Auto-positioning

Another great feature of Intro.js is that you can define the position of tooltip box. Furthermore, you can settooltipPosition to auto to align the tooltip boxes automatically.

DEMO SOURCE
 Floating guide

Also you can define a guide that doesn't focus on a specific element. This type of introductions can be defined using programmatic way.

DEMO SOURCE
 Customize it

There are some options to customize your guide for your website. One of them is data-tooltipClassattribute that enables you to add custom CSS classes to your steps.

DEMO SOURCE