Storyline- Next button to become available after visiting another slide

Jul 24, 2015

Hi everyone,

Long shot I know...

We currently have a set of slides in storyline. What i want to happen is that the Next button on the main slide (which has boxes linking off to other slides), to only become available (or "normal" state) when all of those slides have been visited. All of the slides that link from the original main slide, have had their previous/next button de-activated and I have put in a link to jump back to the main slide, and set it up so that the links on the main page become "visited" state when clicked.

Once all 4 boxes are linked as visited, the next button becomes available. However the functionality isnt working. Its really frustrating me. Because I am sure there is a way around this and I am missing something obvious. When clicking the 4th button, i see it briefly come to Next and then it transitions off to the link, but when returning to the main page, its no long available.

I have even set the main slide layer to Resume to Saved State when re visiting. This hasnt made any difference.

Can anyone please shed some light on this? Virtual chocolates on offer!! :)

22 Replies
Michael Gallagher

Hi Sachin,

I have struggled with that in the past. I have attached a file for you to review. It replicates your situation with a solution. You would assume that if you check the state of the buttons and then enable to "Next" button, that would work. It doesn't. The workaround is to create graphics placed off the screen and have them change state based on clicking the buttons on screen.

In my example, each button has two triggers. The first trigger is to change the state of the graphic off the screen ("Smiley Face 1"). Then the next trigger jumps to slide 1. The trigger on the "Menu" screen states Change the state of Next Button to Normal when the state of Smiley Face 1 through 4 are normal (Initial state for those was hidden).

I know it doesn't seem to be any different than checking the states of the buttons on screen, but for some reason this approach works.


Mike G


Sachin Taank

Thanm you so much Mike! I think I am going to try this as it seems to work a bit better than what I have done.

I actually ended up going around it in a different way but similar process. On the main page, I have created a variable. The variable is set to 0. When you click the back button on the linked page, It adds 1 to the variable each time. Once the variable reaches 6, there is a trigger that says, change the state of the next button to available when the variable is equal to or greater than 6.

Thanks so much for your example! :)

Ashley Terwilliger-Pollard

Hi Kendra, 

I know we've talked before with ways in which you can disable and enable the next button - and as there are a number of examples you may want to take a look at and play around with the example posted here. The first one here includes 2 layers - so you'd just need to create the third. 

Marge Rutter

The logic of why this doesn't work escapes me. I have one main slides that has buttons taking it to 5 other slides. Each of these return the user to that main slide again. I don't want the user to be able to click Next on the main slide until they have visited each of the 5 other slides. I've set up two triggers on the main slide (in this order):

1. Disable the Next button when the timeline starts

2. Change the state of the Next button to normal when the states of all 5 of my buttons are "Visited".

I can see the state of the Next button change to normal on the main slide when I click the last of the 5 buttons. But when I return to the main slide from that last slide, it has reverted back to disabled again.

I have discovered that if I add a third trigger to the main slide, it works. I put this one between the above 2 so basically, this trigger is cancelling out the first one once all 5 slides have been visited.

2. Change the state of the Next button to enabled when the timeline starts with the following conditions (followed by conditions for all buttons' (AND) state being "visited".

It's almost like that original trigger that I set up as trigger 2 is only applied once... when the last button's state turns to "visited". And then after that, the trigger is ignored when you revisit the slide.

At any rate, I got it to work. I just don't understand why it took that extra trigger.

Leslie McKerchie

Hi Jill - Great question and it is confusing, so let's see if I can explain.

When visiting the slide again, the timeline is re-starting, even with the saved states. So, when you have a trigger to change the state of the Next button when the other buttons are visited, it happens in the same instant you are viewing your other slide/layer. When you go back to that slide, the timeline starts - which goes back to your disable the next button trigger. Now, variables cross slides and are not dependent on being ON that slide when they happen.

Your third trigger to have the conditions attached is what is really working here. 

Way to get that figured out though :) Hope I didn't confuse you more.

Wendy Farmer
Jill Huentelman

Change the state of the Next button to normal when the states of all 5 of my buttons are "Visited".

It could be that your 'revisit' slide option is set to 'reset to initial state' instead of resume saved state?

As soon as you click a button it changes state to visited so your latest trigger when timeline starts with condition of states = visited is the better way to go. I don't like using the built in visited state as the user can see it change as soon as they click the button - I normally create a new state called  'completed' and delete the visited state and use 'completed' in my triggers.


Mark Ramsey

I have struggled with this idea. My problem with the "Visited" usage is that, won't it trigger at the start of the last slide's playback? This means that the last bit of content they need to see might be bypassed.

To get around this, I set up individual variables per slide to check/set each slide's Next button status. If there are multiple layers on a single slide, I set up a group of temporary variables to track playback on these, then check at the end of each layer's timelines for slide completion.

This can lead to a glut of variables, which is undesirable and also might lead to storage issues if you are using SCORM 1.2 rather than SCORM 2004 or above. Thankfully, this can handled using JavaScript. I may post an example of using JS to handle this problem. Have to go to a meeting right now though :).

Teri Bridges

I can only say this is so confusing. The simplest of tasks cannot be managed easily. I spend hours searching for resolutions to simple issues, to no avail. I have a slide that has three options. The next button is to be hidden until all three are visited, but that never happens because each time I return to the main slide the time line starts fresh. so I am stuck in a loop. Storyline is not intuitive at all. Not a developer friendly product. Just my opinion. 

Walt Hamilton