SlideShare a Scribd company logo
1 of 13
Download to read offline
Intro.js
Better introductions for websites and features with a step-by-step
guide for your projects.

Copyright (C) 2012 Afshin Mehrabani
(afshin.meh@gmail.com)
© usabli.ca 2013 - A weekend project by Afshin Mehrabani
Provider -> omidkh68@gmail.com
4-Feb-14
Features
Easy to Use

Just include the js and css files and add data-step and data-intro to your code.

Fast & Small

4 KB JavaScript and 2.5 KB CSS (gzip). That's all.

Keyboard + Mouse navigation

Ability to navigate with the mouse, or the keyboard - ←, →, ENTER and ESC to exit.

Browser Compatibllity

Better compatibility is on the roadmap, but currently it should work in recent versions
of Firefox, Chrome and IE8 also.

Free & Open-Source

Free and open-source (including commercial use). Published under MIT license.

PROVIDER -> OMIDKH68@GMAIL.COM

2
Where to get
1) This github repository, using :

git clone https://github.com/usablica/intro.js.git

2) Using bower :

bower install intro.js --save

3) Download it from CDN (Content Delivery Network)
• http://www.jsdelivr.com/#!intro.js
• http://cdnjs.com/#introjs

PROVIDER -> OMIDKH68@GMAIL.COM

3
How to use
Intro.js can be added to your site in three simple steps:
1) Include Intro.js and Introjs.css (or the minified version for production) in your page. Use
to-Left language support.

2) Add data-intro
For Example :

and

data-step

introjs-rtl.min.css

for Right-

to your HTML elements.

<a href='http://google.com/' data-intro='Hello step one!'></a>

3) Call this JavaScript function:
introJs().start();

PROVIDER -> OMIDKH68@GMAIL.COM

4
API (Popular)
introJs.start()
Start the introduction for defined element(s).

introJs().start();

introJs.goToStep(step)
Go to specific step of introduction.

introJs.goToStep(2).start(); // start introduction from step 2

introJs.exit()
Exit the introduction.

introJs().exit();

introJs.oncomplete(providedCallback)
Set callback for when introduction completed.

introJs().oncomplete(function(){
alert(“ end of introduction ”);
});

PROVIDER -> OMIDKH68@GMAIL.COM

5
How to use Attributes And Options
introJs.setOption(option, value)
Parameters:
option : String Option key name.
value : String/Number Value of the option.
Returns:
introJs object.
Example:
introJs().setOption("skipLabel", "Exit");

Set a group of options :
introJs().setOption({"skipLabel":"Exit", “tooltipPosition":“right"});

PROVIDER -> OMIDKH68@GMAIL.COM

6
Attributes
Attributes :
•

data-intro

: The tooltip text of step

•

data-step

: Optionally define the number (priority) of step

•

data-tooltipClass

•

data-position

: Optionally define a CSS class for tooltip

: Optionally define the position of tooltip,

PROVIDER -> OMIDKH68@GMAIL.COM

top

,

left

,

right

or

bottom

. Default is

bottom

7
Options
•

steps

•

nextLabel

: Next button label

•

prevLabel

: Previous button label

•

skipLabel

: Skip button label

•

doneLabel

•

tooltipPosition

•

tooltipClass

•

exitOnEsc

•

showStepNumbers

•

keyboardNavigation

•

showButtons

•

showBullets

: For defining steps using JSON configuration

: Done button label
: Default tooltip position

: Adding CSS class to all tooltips
: Exit introduction when pressing Escape button,

true

: Show steps number in the red circle or not,
: Navigating with keyboard or not,

true

or

: Show introduction navigation buttons or not,
: Show introduction bullets or not,

PROVIDER -> OMIDKH68@GMAIL.COM

true

or

or

true

false

or

false

false
true

or

false

false
8
Using with
Rails
If you are using the rails asset pipeline you can use the introjs-rails gem.
Yii framework
You can simply use this project for Yii framework: https://github.com/moein7tl/Yii-IntroJS

Drupal
Here you can find an IntroJs integration for Drupal: https://drupal.org/sandbox/alexanderfb/2061829
AngularJS
For AngularJS, you can use the directives in angular-intro.js.

PROVIDER -> OMIDKH68@GMAIL.COM

9
Demo

PROVIDER -> OMIDKH68@GMAIL.COM

10
RTL Support

PROVIDER -> OMIDKH68@GMAIL.COM

11
Resources
http://usablica.github.io/intro.js/
Get Instant IntroJs Book On :
• Packtpub

• Amazon
• Barnes and noble

• Safari Books Online
• O Reilly

PROVIDER -> OMIDKH68@GMAIL.COM

12
End

Question ?

PROVIDER -> OMIDKH68@GMAIL.COM

13

More Related Content

What's hot

Module, AMD, RequireJS
Module, AMD, RequireJSModule, AMD, RequireJS
Module, AMD, RequireJS
偉格 高
 
Coder Presentation Szeged
Coder Presentation SzegedCoder Presentation Szeged
Coder Presentation Szeged
Doug Green
 
build your own php extension
build your own php extensionbuild your own php extension
build your own php extension
hazzaz
 

What's hot (11)

Unit Testing With Javascript
Unit Testing With JavascriptUnit Testing With Javascript
Unit Testing With Javascript
 
ExtJS勉強会@名古屋
ExtJS勉強会@名古屋ExtJS勉強会@名古屋
ExtJS勉強会@名古屋
 
X-Debug in Php Storm
X-Debug in Php StormX-Debug in Php Storm
X-Debug in Php Storm
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Let's Play Dart
Let's Play DartLet's Play Dart
Let's Play Dart
 
Plugin Development - WP Meetup Antwerp
Plugin Development - WP Meetup AntwerpPlugin Development - WP Meetup Antwerp
Plugin Development - WP Meetup Antwerp
 
BarcelonaJUG2016: walkmod: how to run and design code transformations
BarcelonaJUG2016: walkmod: how to run and design code transformationsBarcelonaJUG2016: walkmod: how to run and design code transformations
BarcelonaJUG2016: walkmod: how to run and design code transformations
 
Module, AMD, RequireJS
Module, AMD, RequireJSModule, AMD, RequireJS
Module, AMD, RequireJS
 
Coder Presentation Szeged
Coder Presentation SzegedCoder Presentation Szeged
Coder Presentation Szeged
 
build your own php extension
build your own php extensionbuild your own php extension
build your own php extension
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 

Similar to IntroJs

WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLs
intelliyole
 
Mongo db勉強会20110730
Mongo db勉強会20110730Mongo db勉強会20110730
Mongo db勉強会20110730
Akihiro Okuno
 
Basic html5 and javascript
Basic html5 and javascriptBasic html5 and javascript
Basic html5 and javascript
wendy017
 

Similar to IntroJs (20)

An Intro to Angular 2
An Intro to Angular 2An Intro to Angular 2
An Intro to Angular 2
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScript
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLs
 
Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
 
JavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsJavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good Parts
 
前端概述
前端概述前端概述
前端概述
 
Sa
SaSa
Sa
 
Mongo db勉強会20110730
Mongo db勉強会20110730Mongo db勉強会20110730
Mongo db勉強会20110730
 
Apache Calcite (a tutorial given at BOSS '21)
Apache Calcite (a tutorial given at BOSS '21)Apache Calcite (a tutorial given at BOSS '21)
Apache Calcite (a tutorial given at BOSS '21)
 
Behave manners for ui testing pycon2019
Behave manners for ui testing pycon2019Behave manners for ui testing pycon2019
Behave manners for ui testing pycon2019
 
Learn D3.js in 90 minutes
Learn D3.js in 90 minutesLearn D3.js in 90 minutes
Learn D3.js in 90 minutes
 
JavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilderJavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilder
 
C++ Programming
C++ ProgrammingC++ Programming
C++ Programming
 
Go Web Development
Go Web DevelopmentGo Web Development
Go Web Development
 
Basic html5 and javascript
Basic html5 and javascriptBasic html5 and javascript
Basic html5 and javascript
 

Recently uploaded

Recently uploaded (20)

FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 

IntroJs

  • 1. Intro.js Better introductions for websites and features with a step-by-step guide for your projects. Copyright (C) 2012 Afshin Mehrabani (afshin.meh@gmail.com) © usabli.ca 2013 - A weekend project by Afshin Mehrabani Provider -> omidkh68@gmail.com 4-Feb-14
  • 2. Features Easy to Use Just include the js and css files and add data-step and data-intro to your code. Fast & Small 4 KB JavaScript and 2.5 KB CSS (gzip). That's all. Keyboard + Mouse navigation Ability to navigate with the mouse, or the keyboard - ←, →, ENTER and ESC to exit. Browser Compatibllity Better compatibility is on the roadmap, but currently it should work in recent versions of Firefox, Chrome and IE8 also. Free & Open-Source Free and open-source (including commercial use). Published under MIT license. PROVIDER -> OMIDKH68@GMAIL.COM 2
  • 3. Where to get 1) This github repository, using : git clone https://github.com/usablica/intro.js.git 2) Using bower : bower install intro.js --save 3) Download it from CDN (Content Delivery Network) • http://www.jsdelivr.com/#!intro.js • http://cdnjs.com/#introjs PROVIDER -> OMIDKH68@GMAIL.COM 3
  • 4. How to use Intro.js can be added to your site in three simple steps: 1) Include Intro.js and Introjs.css (or the minified version for production) in your page. Use to-Left language support. 2) Add data-intro For Example : and data-step introjs-rtl.min.css for Right- to your HTML elements. <a href='http://google.com/' data-intro='Hello step one!'></a> 3) Call this JavaScript function: introJs().start(); PROVIDER -> OMIDKH68@GMAIL.COM 4
  • 5. API (Popular) introJs.start() Start the introduction for defined element(s). introJs().start(); introJs.goToStep(step) Go to specific step of introduction. introJs.goToStep(2).start(); // start introduction from step 2 introJs.exit() Exit the introduction. introJs().exit(); introJs.oncomplete(providedCallback) Set callback for when introduction completed. introJs().oncomplete(function(){ alert(“ end of introduction ”); }); PROVIDER -> OMIDKH68@GMAIL.COM 5
  • 6. How to use Attributes And Options introJs.setOption(option, value) Parameters: option : String Option key name. value : String/Number Value of the option. Returns: introJs object. Example: introJs().setOption("skipLabel", "Exit"); Set a group of options : introJs().setOption({"skipLabel":"Exit", “tooltipPosition":“right"}); PROVIDER -> OMIDKH68@GMAIL.COM 6
  • 7. Attributes Attributes : • data-intro : The tooltip text of step • data-step : Optionally define the number (priority) of step • data-tooltipClass • data-position : Optionally define a CSS class for tooltip : Optionally define the position of tooltip, PROVIDER -> OMIDKH68@GMAIL.COM top , left , right or bottom . Default is bottom 7
  • 8. Options • steps • nextLabel : Next button label • prevLabel : Previous button label • skipLabel : Skip button label • doneLabel • tooltipPosition • tooltipClass • exitOnEsc • showStepNumbers • keyboardNavigation • showButtons • showBullets : For defining steps using JSON configuration : Done button label : Default tooltip position : Adding CSS class to all tooltips : Exit introduction when pressing Escape button, true : Show steps number in the red circle or not, : Navigating with keyboard or not, true or : Show introduction navigation buttons or not, : Show introduction bullets or not, PROVIDER -> OMIDKH68@GMAIL.COM true or or true false or false false true or false false 8
  • 9. Using with Rails If you are using the rails asset pipeline you can use the introjs-rails gem. Yii framework You can simply use this project for Yii framework: https://github.com/moein7tl/Yii-IntroJS Drupal Here you can find an IntroJs integration for Drupal: https://drupal.org/sandbox/alexanderfb/2061829 AngularJS For AngularJS, you can use the directives in angular-intro.js. PROVIDER -> OMIDKH68@GMAIL.COM 9
  • 11. RTL Support PROVIDER -> OMIDKH68@GMAIL.COM 11
  • 12. Resources http://usablica.github.io/intro.js/ Get Instant IntroJs Book On : • Packtpub • Amazon • Barnes and noble • Safari Books Online • O Reilly PROVIDER -> OMIDKH68@GMAIL.COM 12
  • 13. End Question ? PROVIDER -> OMIDKH68@GMAIL.COM 13