EzDevInfo.com

intro.js

A better way for new feature introduction and step-by-step users guide for your website and project. Intro.js | Better introductions for websites and features with a step-by-step guide for your projects. intro.js - better introductions for websites and features with a step-by-step guide for your projects.

AngularJS: intro.js - change language - options in directive same language

I'm using intro.js in my angular app:

http://code.mendhak.com/angular-intro.js/example/index.html

and all was ok, untill yesterday...

my problem:

when i solve (or skip) tutorial:

enter image description here

and

enter image description here

after i change language and restart tutorial:

enter image description here

and i see same hints (in same language as before), but this text is changed:

enter image description here

what i do wrong?

i call intro.js so:

<a rel='nofollow' href="javascript:void(0)" ng-click="CallMe(1)">Start It!</a>

and options:

$scope.IntroOptions = {
    steps: [{
      element: '.el1',
      intro: $translate.instant('text1'),
      position: 'bottom'
    }, {
      element: '.el2',
      intro: $translate.instant('text2'),
      position: 'bottom'
    }],
    showStepNumbers: false,
    showProgress: false,
    exitOnOverlayClick: false,
    keyboardNavigation: false,
    exitOnEsc: false,
    prevLabel: '',
    skipLabel: '<strong>skip</strong>',
    doneLabel: '<strong>skip</strong>'
  };

and whole angularjs directive of intro.js:

var ngIntroDirective = angular.module('angular-intro', []);


ngIntroDirective.directive('ngIntroOptions', ['$timeout', function ($timeout) {

    return {
        restrict: 'A',
        scope: {
            ngIntroMethod: "=",
            ngIntroExitMethod: "=?",
            ngIntroOptions: '=',
            ngIntroOncomplete: '=',
            ngIntroOnexit: '=',
            ngIntroOnchange: '=',
            ngIntroOnbeforechange: '=',
            ngIntroOnafterchange: '=',
            ngIntroAutostart: '&',
            ngIntroAutorefresh: '='
        },
        link: function(scope, element, attrs) {

            var intro;

            scope.ngIntroMethod = function(step) {


                var navigationWatch = scope.$on('$locationChangeStart', function(){
                  intro.exit();
                });

                if (typeof(step) === 'string') {
                    intro = introJs(step);

                } else {
                    intro = introJs();
                }

                intro.setOptions(scope.ngIntroOptions);

                if (scope.ngIntroAutorefresh) {
                  scope.$watch(function(){
                    intro.refresh();
                  });
                }

                if (scope.ngIntroOncomplete) {
                    intro.oncomplete(function() {
                        scope.ngIntroOncomplete.call(this, scope);
                        $timeout(function() {scope.$digest()});
                        navigationWatch();
                    });
                }

                if (scope.ngIntroOnexit) {
                    intro.onexit(function() {
                        scope.ngIntroOnexit.call(this, scope);
                        $timeout(function() {scope.$digest()});
                        navigationWatch();
                    });
                }

                if (scope.ngIntroOnchange) {
                    intro.onchange(function(targetElement){
                        scope.ngIntroOnchange.call(this, targetElement, scope);
                        $timeout(function() {scope.$digest()});
                    });
                }

                if (scope.ngIntroOnbeforechange) {
                    intro.onbeforechange(function(targetElement) {
                        scope.ngIntroOnbeforechange.call(this, targetElement, scope);
                        $timeout(function() {scope.$digest()});
                    });
                }

                if (scope.ngIntroOnafterchange) {
                    intro.onafterchange(function(targetElement){
                        scope.ngIntroOnafterchange.call(this, targetElement, scope);
                        $timeout(function() {scope.$digest()});
                    });
                }

                if (typeof(step) === 'number') {
                    intro.goToStep(step).start();
                } else {
                    intro.start();
                }
            };

            scope.ngIntroExitMethod = function (callback) {
                intro.exit(); //TODO check callBack
            };

            if (scope.ngIntroAutostart()) {
                $timeout(function() {
                    scope.ngIntroMethod();
                });
            }
        }
    };
}]);

what i do wrong? why my hints are not changing their language?

plunker you could check here:

http://plnkr.co/edit/RsJ29a49soZ4q33gxQhk?p=preview

what i do wrong with angular-translate?


Source: (StackOverflow)

how to start intro.js tour only on first visit to website

I have implemented intro.js to my website. But I wanted to start the tour only on first visit. may be by using cookies.. website is made with html no php..


Source: (StackOverflow)

Advertisements

How can I create a constructor for a static library

I'm using the introjs library.

See the original code here.

I want to be able to write var = new IntroJs() rather than call the start() method.

How can I achieve that?


Source: (StackOverflow)

Is there a Javascript Help Framework? [closed]

Is there a Javascript framework that help my end-users to easily use a website?

A framework to become possible from a config file that I specify which buttons, div's ...etc need some information about how to easily use a site.


Source: (StackOverflow)

IntroJS Bootstrap Menu doesnt work

Im using bootstrap for UI Design. I have configured updated IntroJS to my site. Now it works fine with other elements but giving problem with Dropdown Menu Elements.

problem in IntroJS with Bootstrap


Source: (StackOverflow)

Firing javascript function between intro.js steps

I am using Intro.js for a guided tour.

I would like to fire javascript functions between some of the steps but I don't manage to. An idea would be to define different intros, and fire the javascript functions between the intros.

Is there a cleaner way to do it ?


Source: (StackOverflow)

Intro.js: highlighted area doesn't work as expected

I'm using the very interesting javascript library intro.js.

However, in my application, the highligted area becomes almost completely white.

I'm guessing that this is some CSS conflict, but what can I do to determine the cause of this problem?enter image description here


Source: (StackOverflow)

Intro Js help tour

Is there a way to customize the bullets in intro js, such that user can be sure of which step its going to jump on? I was asked if the bullets can have some kind of identification so that user can be sure when trying access help for the particular component.

http://jsfiddle.net/ee2s3p11/

The blue bullets are used for direct navigation to the steps, if some how those blue bullets can be customized, it would be easier for user to jump to the help component they are looking for.

Step 1 Step 2 Step 3 Step 4

Click Me!

.introjs-tooltip {
    min-width: 250px;
    max-width: 250px;
} 
.introjs-bullets ul li a {
    width: 15px;
    height: 15px;
    background-color: blue;
}

Source: (StackOverflow)

How IntroJs achieve the highlighted areas?

Came across intro.js - a very cool way to guide users on how to use software interfaces. I havnt looked at the source in depth but was wondering if anyone could briefly explain what the code does to achieve the highlighted areas (specifically dimensions/position/zindexing) to achieve the effect.

Thanks in advance Jay

Link: http://usablica.github.com/intro.js/


Source: (StackOverflow)

Ability to show all steps in introJS

Is it possible to show all of the introJS step numbers at once (not the highlighting their associated elements or toolTips) - so one could see all the areas of the page that have 'explanations'? Then make all of those numbers clickable so that the user could choose to see an explanation on any part of the site (as long an intro step has been set up for that part)?


Source: (StackOverflow)

Intro.js not working for specific classes

I'm not able to start the intro for elements only with class 'case_event_intro' but when I do introJs(".case_event_intro").start(); nothing happens, even though there are elements with that class and with the intro att. defined (data-intro and data-step). The elements have also other classes apart case_event_intro. Could that be the problem? Are there any other conditions to make the intro work for only some elements with a given class?

See this screen capture.


Source: (StackOverflow)

how do i show a tooltip without focusing any element on intro.js

i am using intro.js for my product tour. i want to show tooltip without focusing any element like "welcome to the XYZ tour". i want to use only bootstrap and intro js and i dont want to use any alerts,popups... any solution in terms of intro.js options here i am attaching screenshots.. i am able to attain it if i assing some random selector value, but i want a clean and fair code

coffee js:

intro.setOptions steps : [ element : "randomXyzselectorThatDoesntExistinPage" intro : "Welcome to the Create New Booking Tour, please follow the step by step guide to understand the flow clearly

Click the ‘Next’ button to get started on the tour

" position : "bottom" , element : ".userContainer" intro : "FIRST, lets Search if the Guest already exists in our records

Click the NEXT button to get started on the tour

" position : "bottom" , element : ".availabilityContainer" intro : "Now, lets Check the availability of OYOs for the dates our Guest requires stay and choose one of the availble OYOs to proceed to book" position : "bottom" , element : ".overlayIntrojs" intro : "After selecting an OYO among the available OYOs for those dates, lets choose number of rooms, type of rooms, extra beds, extra persons,discount and other basic information about the booking

" position : "top" , element : ".introJsSel4" intro : "The Payment Details section!, proceed to confirm the booking by entering payment details like mode of payment, amount paid, payment reference number etc" position : "top" ] intro.setOption "doneLabel", "Finish" intro.start().oncomplete -> window.location.href = "/admin/bookings/36" return

SCREENSHOT :

[IMG]http://i59.tinypic.com/2zges2b.jpg[/IMG]

i want the first tooltip to be dispalyed as some WELCOME MESSAGE than direct tour slide... i want what i show in the above image,without having to give some random selector in steps but in a clear introjs supported way


Source: (StackOverflow)

adding "data" options to items in datatables

Hi I am new to datatables and javascript in general and I was wondering if there is anyway to add "data" options to rows and items in datatables.

I am trying to make an intro tour to my site using http://usablica.github.io/intro.js/

and in order to do that I need to add data-info="" and data-step="" options to the item.

So for example when you use intro.js you add items that have "data-intro" and "data-step" options like:

<h1 data-intro='This is step one.' data-step='1'>The Changelog</h1>

Because data-tables is all javascript rendered there is no way to add this to either the "Show/hide columns" button and individual rows in the picture below. Is this possible to fix?

Thank you

enter image description here

enter image description here

Here is the show entries button


Source: (StackOverflow)

intro.js not working for specific elements based on classes

I am not able to start intro.js with specific elements which are have class='test'.I am using Intro.js v0.9.0.

as per documentation, I written code just like following way.

 <li class="test" data-intro="first Step" data-step="1"><a rel='nofollow' href="#" data-toggle="tooltip" data-placement="bottom" title="Chart" id="chart-btn"><i class="fa fa-bar-chart-o fa-lg"></i></a></li>
 <li class="test123" data-intro="first Step" data-step="1"><a rel='nofollow' href="#" data-toggle="tooltip" data-placement="bottom" title="Reset" id="reset"><i class="fa fa-repeat fa-lg"></i></a></li>
 <li class="test" data-intro="second Step" data-step="2"><a rel='nofollow' href="#" data-toggle="tooltip" data-placement="bottom" title="Compute" id="category"><i class="fa fa-play fa-lg"></i></a></li>

I tried to start intro like this

 introJs(".test").start();

It's not working.I goggled some guys suggested regarding this,I tried those ways also but it's not working.

How can I fix this.


Source: (StackOverflow)

intro.js disableInteraction not working as expected

FYI - This is question is probably way easier to understand having had experience using this plugin.

I am using intro.js to build an interactive tour on my webpage and for the most part it has been working well. In options, listed in the API, there is disableInteraction. I take this option to mean that the user is (still) able to interact with the element highlighted in each 'step'. i.e. if the step highlights a button and the text for the step reads like "now click the button to open the file", then that button would still be clickable.

I have been passing said option like so:

introJs().setOption("disableInteraction", "false").start();

but no luck; buttons are not clickable when they are highlighted as part of an IntroJs 'step'. I've tried passing other options this way and they've worked fine. Anyone had any experienced with this?


Source: (StackOverflow)