22 Replies
Marina Krasivaya

Michael, can you look? I create a text field on my master slide that contains this:

%currentSlide% of %totalSlides%

Then I create two variables to contain values:
currentSlide - number variable default 0
totalSlides - number variable default to the number of total slides.
It's worked uncorrect. 
In my master slide:

In the module:

Michael Hinze

You don't need a trigger to set the totalSlides variable. Since this variable does not change throughout a given project, all you have to do is set the Default value of this variable to whatever the number of screens in your projects is. You set the default value in the Variables Edit window.

Then, on EACH slide, you need to add a trigger, that sets the currenSlide variable to a specific value when the slide' timeline starts. See below an example for slide 10.


Jennifer Dixey

If you don't want to have to set the slide number variable manually for each slide in your presentation  (and thus have to change those numbers if you insert or remove a slide), there is another way that I've been trying out - I create the variable for the slide number and add it to a text box, the same as this technique, but instead of being on every slide, the text box holding the "Slide % of X" text is only on the master slide. I have a trigger on the master slide that sets the variable +1 when the user clicks "next" (condition: the slide number variable is < the maximum) and -1 when the user clicks "previous" (condition: the slide number variable is > 1). All the slides that use the master slide inherit the text field, the variable value, and the triggers that change the variable value. If you use lots of different master slides, this might not work (I haven't tried it). What I like about doing it this way is that I only have to set it up once, and it's good for all the slides in the scene.

Ashley Terwilliger

Hi John,

I wish I had information to share in regards to new features or new versions of our software, but unfortunately I don't - and we also don't share our product road map or timelines in regards to fixes, updates, and new releases. So I can't say one way or another in regards to page numbers in Storyline.

I know there are a number of threads about it, and it's been a popular topic in the forums, but the general consensus I've heard from some of our ELH "Heroes" is to use one of the custom methods to insert page numbers since Storyline courses may not be a linear progression. This thread is a bit older, but has a lot of great discussion about the pros/cons of it and some other ideas and examples.  You're still always welcome to share your thoughts in the form of a feature request, as those go to our Product Development team. 

John Blum

It appears that the JavaScript code provided uses some built-in Storyline variables.  If Storyline does have built-in variables that can be accessed with JavaScript, why not make at least some of them available so they can be used along with the user-defined variables?

I'll submit this as a new feature request.

Ashley Terwilliger

Hi Jennifer and John,

We really want every feature to work well within Storyline, and the system variables through Javascript isn't something we decided to expose based on the potential interference with playback. You'll see this noted here, and we're happy to keep the discussion going here in the forums or in a feature request. 

James Holt

I agree.

While looking at "player_compiled.js" I found the function "currentSlide()".


Current slide string "story.allSlides[player.slideIndex]" can be reduced to "player.currentSlide()" both will retrieve the current slide.

Current Slide Number Example:

var thisSlideIndex = story.allSlides[player.slideIndex].sceneSlideIndex+1;

// -- fewer keystrokes

var thisSlideIndex = player.currentSlide().sceneSlideIndex+1;




Vico Eventuin

Hi James,

Would it be possible to make a generic JS driven Previous button that wil always jump to the Slide with the slide with slide number that is 1 less than the current?

Goal is to be able to jump from slide 5 to 4 to 3 to 2 etc. without having to make a custom trigger for every Previous button on every slide.