Disable Next Button on a Slide until all Buttons are Visited

This example illustrates how to disable next button when the timeline starts and enable next button when a variable change occurs after all of the slide buttons/objects have a state change to visited. 

Note: All buttons must have a visited state. The next button will be enabled if the slide is revisited.

Step 1:
Create a True/False variable for the slide objects visited (SlideNumb_Action_VariableType).
Example Variable:
Variable Name, Type = True/false, Default Value  = False

S1_AllObjectsVisited_TF

Step 2:
Create a trigger that changes the next button to disabled when the timeline starts if the variable is not equal to true.
Example Trigger:

Step 2 Trigger

Step 3:
Adjust the variable when the identified slide elements change to a visited state.
Example Trigger:

Step 3 Trigger

Step 4:
Change the state of the next button to normal when variable changes.
Example Trigger:

 

 

22 Replies
Jeremy Boehl

Hello. I've used triggers like in the example you posted, Ashley, to set the Next button to not appear until the timeline reaches the end. This seemed to work fine, but I recently found out that if you hit the Enter button, it advances the slide without having to click the Next button. Also, when viewing on a tablet, the user can just swipe ahead before the Next button appears. Is there a way to disable this functionality so the slide can only be advanced by clicking Next when the button appears? I have searched the forums everywhere and can find out how to do this? thanks.

Leslie McKerchie

Hello Jeremy and welcome to E-Learning Heroes :)

This is actually an open issue that our team is currently investigating:

Player navigation does not work as expected when you press spacebar or Enter key after the first slide if the Next Button is set to hidden when timeline starts

I'm going to add this conversation to the report as we track user impact and so that we can update you here when we can as well.

No known workaround is listed at this time.

Jeremy Boehl

Thank You Leslie! This is a major issue for us because some of our end users are paid for their time spent completing courses. Also, if they are able to repeatedly hit Enter and skip through an entire course in 2 minutes when it’s supposed to be a 45 minute course, it’s a compliance issue as well. Hopefully a workaround or setting that prevents users from skipping ahead will be added or included in a software update soon. I hope we don’t have to redesign all of our courses or go back to using Adobe Captivate because of this loophole. Currently using Storyline 360.

Thomas Trampf

This is great; however, the problem I've had is that when the learner returns to the slide by clicking the Previous button, the Next button doesn't appear and they have to re-click all the buttons again to get it to re-display. I tried setting the slide properties to "Resume saved state," but it still doesn't work. 

Thomas Trampf

Thanks Lauren, but my work is highly proprietary and cannot be shared outside the company. I did manage a workaround that seems to work. Instead of hiding the Next button, I simply disabled it. It's not perfect as a disabled Next button displays. It passed SME review without anyone pointing it out, so I'm leaving it as is.  

Wendy Farmer

Are you leaving the slide with the buttons to go to other slides and then returning?

If so,

Triggers should be:

change state of next button to disabled when timeline starts on the slide with buttons.

change state of next button to normal when timeline starts on the slide with button on condition xyz is visited.

Benedict Chia

Dear Lauren,

I used the tips recommended but face a problem exactly like what thomas trampf described.

However, once I link those 5 navigation buttons out to another scene/slide, and learner returns to the slide by clicking the "Previous" button, the states of my button no longer stays visited. 

As a result, the "Next" button doesn't appear even if learner has gone through all 5 scenes. 

Pls advise. Thanks. 

EMR Learning and Development

Just wanted to chime in here for any future users who are desperately trying to make this work like I was only a few moments ago.

In storyline360 you might not need to use variables at all.
I don't fully understand them yet and I was getting a weird thing when if I left the slide and went back to it sometimes the next button was greyed out and sometimes it wasn't, it was very frustrating.

My slide had three panels I wanted learners to click and read the information that came up in the layer that opened before moving on.

All I did was:

1. Set a trigger to change state of next button to disabled when timeline starts on this slide

2. Create a visited state for my panels and set a trigger for that (change state of rectangle to visited when user clicks on it)

3. Set a trigger to change state of next button to normal once all rectangles (the panels) had changed their state to visited.

This works like a charm but it does have a few limitations.
You must make sure you slide is set to reset to initial state when revisiting (or else the next button will always disable because of the first trigger) which means your learners will have to interact with your objects every single time which can be frustrating too. And, this works for things where you can trigger something due to a change in state, with more complex interactions you might have to find one more workaround on top of this.

 

Anyway, just thought I would put this out there in case anyone needed it!

Walt Hamilton

You said:

In storyline360 you might not need to use variables at all.
I don't fully understand them yet and I was getting a weird thing when if I left the slide and went back to it sometimes the next button was greyed out and sometimes it wasn't, it was very frustrating.

I suspect the sometimes yes, and sometimes no was caused by the slide being set to "automatically choose" state on revisit.  If it chooses to reset, then the timeline starts, the first  trigger functions, and Next is disabled. If it chooses saved state, then the Next button is already enabled from the previous visit and stays enabled.

I believe this is a mis-print:

You must make sure you slide is set to reset to initial state when revisiting or else the next button will always disable because of the first trigger,

I believe you meant the slide needs to be set to saved state on revisit. If it is set to initial state, the timeline WILL restart, and the first trigger will fire.

This method works well if nothing the learner clicks takes them to a different slide. If they get part way through the process, and go to a different slide, then using the change to visited state of all the buttons is not always reliable. In that case, you may need to use variables.

EMR Learning and Development

Hi Walt!

I double checked this and made sure to have it on 'reset to initial state'.
I am still learning storyline360 so I'm sure there is probably a very simple solution to why it isn't behaving the way I want it to. I tried lots of other things like a trigger setting the variable to false when timeline starts but it didn't fix the bug.

Ideally I would have the next button locked going forwards but unlocked when revisiting but I haven't found a way to do this yet.

EMR Learning and Development

Okay chiming in again and eating my own words: the reason it wasn't working is because I missed the bit about the conditions in the triggers! Can confirm that the above method is now working as it should and when I have 'resume saved state' then the learner doesn't have to go through the panels again.

The above method does still work but it can be a little crude and limited as I have already pointed out so may not suit all needs. 

Walt Hamilton

There is a sample of a variety of ways to control user navigation through  a menu on paths that include different slides, with different levels of locking the Next button. Find it here: https://community.articulate.com/discussions/articulate-storyline/free-sample-restricted-and-free-random-navigation-using-variables-and-triggers