{"id":17758,"date":"2013-07-25T21:01:14","date_gmt":"2013-07-25T13:01:14","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=17758"},"modified":"2025-04-04T01:35:03","modified_gmt":"2025-04-03T17:35:03","slug":"introjs-step-by-step-guide-tutorial","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/","title":{"rendered":"Building A Step-By-Step Guide Using Intro.js [Tutorial]"},"content":{"rendered":"<p>There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the ropes of your website layout. How do they know all the important interface features and menu links? By using a guided tour it is easy to explain all of these features to users who are interested.<\/p>\n<p>I want to focus this tutorial onto an open source jQuery plugin called <a target=\"_blank\" href=\"https:\/\/usablica.github.io\/intro.js\/\" rel=\"noopener\">Intro.js<\/a>. I really like this choice because of the page dimming feature, also the<strong> easy customization of CSS<\/strong> to change how the tooltips look. The dependencies are also simple with a requirement for jQuery and the plugin\u2019s own custom CSS\/JS files. If you are familiar with jQuery it is very simple to get this plugin working within 30-60 minutes of development time.<\/p>\n<p>My demo page will be using the Hongkiat\u2019s <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/css-equal-height\/\" rel=\"noopener\">CSS Equal Height demo<\/a> as an example. It will guide you through all the key aspects of the demo page interface. Check out the demo link  below to see what we will be making.<\/p>\n<ul class=\"download\">\n<li><a target=\"_blank\" href=\"https:\/\/hongkiat.github.io\/introjs-step-by-step-guide-tutorial\/\" rel=\"noopener\">Demo<\/a><\/li>\n<\/ul>\n<h2>Getting Started<\/h2>\n<p>I do not want want to focus much on the HTML or CSS because this is all relative to your own page. However there is something I want to point out in using Intro.js (which I did not do in this tutorial). Basically you have 2 different options for setting up the various \u201csteps\u201d of the tour. These steps may be <strong>hard-coded into a JavaScript array <\/strong>as I have done, or you may<strong> append HTML attributes onto the various elements<\/strong> in your page.<\/p>\n<p>Here is an example from the main plugin\u2019s demo page:<\/p>\n<pre>&lt;h1 data-step=\"1\" data-intro=\"Hello all! :) This project's called Intro.js.\"&gt;Intro&lt;span style=\"font-weight: normal;\"&gt;.js&lt;\/span&gt;&lt;\/h1&gt;\r\n<\/pre>\n<p><strong>data-step<\/strong> signifies which numerical step should be used while <strong>data-intro<\/strong> will hold the text to be displayed in the tooltip.<\/p>\n<p>I prefer to keep this stuff inside JS variables instead because it makes the HTML cleaner, plus all the <strong>important codes are located in one file<\/strong> rather than scattered throughout different page elements.<\/p>\n<p>But if you just want to test the waters you may use this easier technique with HTML5 data attributes.<\/p>\n<pre>&lt;!doctype html&gt;\r\n&lt;html lang=\"en\"&gt;\r\n&lt;head&gt;\r\n&lt;meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\"&gt;\r\n&lt;title&gt;jQuery Live Demo Tour - CSS Equal Height on Hongkiat.com&lt;\/title&gt;\r\n&lt;script src=\"http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.9.1\/jquery.min.js\"&gt;&lt;\/script&gt;\r\n&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"css\/style.css\"&gt;\r\n&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"css\/demo-style.css\"&gt;\r\n&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"css\/introjs.css\"&gt;\r\n&lt;script type=\"text\/javascript\" src=\"js\/nav.js\"&gt;&lt;\/script&gt;\r\n&lt;script type=\"text\/javascript\" src=\"js\/intro.js\"&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n<\/pre>\n<p>Now my document head also contains scripts related to the original Hongkiat demo page. I don\u2019t need to delve any further into these styles since they do not affect the tour in any way. But it is important to note that <strong>we need a copy of jQuery as a dependency<\/strong>, along with <strong>introjs.css<\/strong> and <strong>intro.js<\/strong>.<\/p>\n<p>All of these files will come packaged with <a target=\"_blank\" href=\"https:\/\/github.com\/usablica\/intro.js\" rel=\"noopener\">the plugin download off Github<\/a>.<\/p>\n<h2>Tiny CSS Updates<\/h2>\n<p>Originally the introjs.css file contains a number of helpful default styles for your tooltip effects. These may be overwritten in your own stylesheet if you have a distinct look and feel to the page. All I have edited is the font size to make the letters bigger with a taller line-height property.<\/p>\n<pre>#tourbtn {\r\n  position: fixed;\r\n  right: 15px;\r\n  bottom: 35px;\r\n}\r\n#tourbtn a {\r\n  background: #bac081;\r\n  padding: 8px 15px;\r\n  font-size: 12px;\r\n  line-height: 22px;\r\n  font-weight: bold;\r\n  color: #454a50;\r\n  text-decoration: none;\r\n  -webkit-border-radius: 4px;\r\n  -moz-border-radius: 4px;\r\n  border-radius: 4px;\r\n}\r\n#tourbtn a:hover {\r\n  background: #cacf96;\r\n}<\/pre>\n<p>These other alternate styles are only important for creating a <strong>tour button <\/strong>found in the lower-right hand corner of the page. This displays <strong>only once<\/strong> after the user initially visits the page and <strong>offers a brief tour<\/strong>, if needed. For my demo the guided page tour will start automatically, but some users would rather setup a tour button instead.<\/p>\n<h2>jQuery Codes with Intro.js<\/h2>\n<p>There is not a whole bunch of difficult JavaScript to understand but the syntax is rigorous when you are unfamiliar with the language. I will break it down into block sections; that way it\u2019ll be easier to understand. Please note all of these codes are contained at the<strong> bottom of my HTML page<\/strong>.<\/p>\n<p>However you could make <strong>a separate JS file to segregate codes<\/strong> if that is easier.<\/p>\n<pre>$(function(){\r\n  var introguide = introJs();\r\n  \/\/ var startbtn   = $('#startdemotour');\r\n}<\/pre>\n<p>First we setup an important variable related to the tour feature. We make a new tour variable named <strong>introguide<\/strong> which calls the main introJS plugin function. The startbtn variable can be used for setting up a related tour button in the page. Afterwards we need to setup a large index containing each <strong>tour\u2019s step(s), targeted element, and tooltip content.<\/strong><\/p>\n<pre>\r\nintroguide.setOptions({\r\n    steps: [\r\n        {\r\n          element: '.nav-bar',\r\n          intro: 'This guided tour will explain the Hongkiat demo page interface.&lt;br&gt;&lt;br&gt;Use the arrow keys for navigation or hit ESC to exit the tour immediately.',\r\n          position: 'bottom'\r\n        },\r\n        {\r\n          element: '.nav-logo',\r\n          intro: 'Click this main logo to view a list of all Hongkiat demos.',\r\n          position: 'bottom'\r\n        },\r\n        {\r\n          element: '.nav-title',\r\n          intro: 'Hover over each title to display a longer description.',\r\n          position: 'bottom'\r\n        },\r\n        {\r\n          element: '.readtutorial a',\r\n          intro: 'Click this orange button to view the tutorial article in a new tab.',\r\n          position: 'right'\r\n        },\r\n        {\r\n          element: '.nav-menu',\r\n          intro: \"Each demo will link to the previous & next entries.\",\r\n          position: 'bottom'\r\n        }\r\n    ]\r\n});<\/pre>\n<p>Notice this data is setup by calling <strong>introguide.setOptions({})<\/strong> which is an inner function of the plugin. We pass an array set with the list of steps for our guided tour. The elements may be any typical jQuery selector although classes are often not recommended unless you only have 1 on the page.<\/p>\n<p>The position value is also available using <strong>data-position<\/strong> but it will default out to the bottom. I am including this key in each step merely for clarity.<\/p>\n<p>The only line of code we need is to call <strong>introguide.start()<\/strong>. This may be kept inside an event handler which triggers only after the user clicks on a link or button. However it\u2019s not a requirement, and the tour can initiate right after the DOM finishes loading.<\/p>\n<pre>\r\nintroguide.start();\r\n\/**\r\n    startbtn.on('click', function(e){\r\n      e.preventDefault();\r\n      introguide.start();\r\n      $(this).hide();\r\n    });\r\n    \r\n     * oncomplete re-display the button\r\n     * hide by default since we don't need this functionality.\r\n    introguide.oncomplete(function() {\r\n      if(startbtn.css('display') == 'none') {\r\n        startbtn.show();\r\n      }\r\n    });\r\n    introguide.onexit(function() {\r\n      if(startbtn.css('display') == 'none') {\r\n        startbtn.show();\r\n      }\r\n    }); \r\n**\/<\/pre>\n<p>There are callback functions to use whenever the tour finishes, and we <strong>can use these callbacks to re-show the button if needed<\/strong>. I have these codes commented out for this demo but you should know these callback methods are available to run any JS codes after the tour finishes, or after the user exits the tour at some point.<\/p>\n<p>I really like the Intro.js plugin because documentation is straightforward and easy to understand. This can work in almost any webpage using jQuery as an included library. I like this example running over the Hongkiat demo layout because it shows exactly what is possible in a typical website tour. I would advise everyone interested in this technique to keep your eyes open!<\/p>\n<p>Plenty of new social networks and startups are using guided tours, and when you find such examples online they can be immensely beneficial when crafting your own website tours.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg\" alt=\"demo tour preview plugin highlights steps introjs\" width=\"600\" height=\"350\"><\/p>\n<ul class=\"download download-2c\">\n<li><a target=\"_blank\" href=\"https:\/\/hongkiat.github.io\/introjs-step-by-step-guide-tutorial\/\" rel=\"noopener\">Demo<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/github.com\/hongkiat\/introjs-step-by-step-guide-tutorial\/\" rel=\"noopener\">Source Code<\/a><\/li>\n<\/ul>\n<h2>Related Libraries<\/h2>\n<p>Although my personal preference leans towards Intro.js I cannot say this is the absolute best solution. There are so many other <strong>alternative website tour plugins<\/strong> which are worth mentioning in this article. Check out the small list below where I have compiled a roundup of related JS tour plugins which may be useful to developers.<\/p>\n<ul>\n<li><a target=\"_blank\" href=\"https:\/\/zurb.com\/playground\/jquery-joyride-feature-tour-plugin\" rel=\"noopener\">Joyride Feature Tour<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/tracelytics.github.io\/pageguide\/\" rel=\"noopener\">Pageguide<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/alvaroveliz.github.io\/aSimpleTour\/\" rel=\"noopener\">aSimpleTour<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/clu3.github.io\/bootstro.js\/\" rel=\"noopener\">Bootstro.js<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/eragonj.github.io\/Trip.js\/\" rel=\"noopener\">Trip.js<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.tommoor.com\/posts\" rel=\"noopener\">Crumble<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/heelhook.github.io\/chardin.js\/\" rel=\"noopener nofollow\">Chardin.js<\/a><\/li>\n<\/ul>\n<h2>Final Thoughts<\/h2>\n<p>A guided website tour can provide so much benefit to your new startup or redesigned layout. Usability is crucial for the successful performance of any website. And a guided webpage tour is an exceptional method to build up comfort using any layout. I hope this tutorial may offer a peek into the wonders of Intro.js and building guided tours for your users.<\/p>\n<p><strong>If I have glossed over any confusing topics or if you have furt\n  her ideas please share with us in the post discussion area below.<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the ropes of your website layout. How do they know all the important interface features and menu links? By using a guided tour it is easy to explain all of&hellip;<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3392],"tags":[507,4117,911,286],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Building A Step-By-Step Guide Using Intro.js [Tutorial] - Hongkiat<\/title>\n<meta name=\"description\" content=\"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building A Step-By-Step Guide Using Intro.js [Tutorial]\" \/>\n<meta property=\"og:description\" content=\"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-25T13:01:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T17:35:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg\" \/>\n<meta name=\"author\" content=\"Jake Rocheleau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jake Rocheleau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/\"},\"author\":{\"name\":\"Jake Rocheleau\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\"},\"headline\":\"Building A Step-By-Step Guide Using Intro.js [Tutorial]\",\"datePublished\":\"2013-07-25T13:01:14+00:00\",\"dateModified\":\"2025-04-03T17:35:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/\"},\"wordCount\":1123,\"commentCount\":24,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/introjs-step-by-step-guide-tutorial\\\/guided-tour-preview-highlights-readmore.jpg\",\"keywords\":[\"CSS\",\"Javascripts\",\"jQuery\",\"tutorials\"],\"articleSection\":[\"Coding\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/\",\"name\":\"Building A Step-By-Step Guide Using Intro.js [Tutorial] - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/introjs-step-by-step-guide-tutorial\\\/guided-tour-preview-highlights-readmore.jpg\",\"datePublished\":\"2013-07-25T13:01:14+00:00\",\"dateModified\":\"2025-04-03T17:35:03+00:00\",\"description\":\"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/introjs-step-by-step-guide-tutorial\\\/guided-tour-preview-highlights-readmore.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/introjs-step-by-step-guide-tutorial\\\/guided-tour-preview-highlights-readmore.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/introjs-step-by-step-guide-tutorial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building A Step-By-Step Guide Using Intro.js [Tutorial]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\",\"name\":\"Jake Rocheleau\",\"description\":\"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers\",\"sameAs\":[\"https:\\\/\\\/www.hongkiat.com\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/jake\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building A Step-By-Step Guide Using Intro.js [Tutorial] - Hongkiat","description":"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Building A Step-By-Step Guide Using Intro.js [Tutorial]","og_description":"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the","og_url":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2013-07-25T13:01:14+00:00","article_modified_time":"2025-04-03T17:35:03+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg","type":"","width":"","height":""}],"author":"Jake Rocheleau","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Jake Rocheleau","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/"},"author":{"name":"Jake Rocheleau","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a"},"headline":"Building A Step-By-Step Guide Using Intro.js [Tutorial]","datePublished":"2013-07-25T13:01:14+00:00","dateModified":"2025-04-03T17:35:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/"},"wordCount":1123,"commentCount":24,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg","keywords":["CSS","Javascripts","jQuery","tutorials"],"articleSection":["Coding"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/","url":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/","name":"Building A Step-By-Step Guide Using Intro.js [Tutorial] - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg","datePublished":"2013-07-25T13:01:14+00:00","dateModified":"2025-04-03T17:35:03+00:00","description":"There are numerous plugins for creating your own guided website tour. This animated page effect is very useful to new visitors who are just learning the","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/introjs-step-by-step-guide-tutorial\/guided-tour-preview-highlights-readmore.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/introjs-step-by-step-guide-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building A Step-By-Step Guide Using Intro.js [Tutorial]"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a","name":"Jake Rocheleau","description":"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers","sameAs":["https:\/\/www.hongkiat.com"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/jake\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-4Cq","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/17758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=17758"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/17758\/revisions"}],"predecessor-version":[{"id":73614,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/17758\/revisions\/73614"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=17758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=17758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=17758"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=17758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}