Disable Next Button on a Slide until all Buttons are Visited
Jul 25, 2017
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 3:
Adjust the variable when the identified slide elements change to a visited state.
Example Trigger:
Step 4:
Change the state of the next button to normal when variable changes.
Example Trigger:
35 Replies
Thanks James for sharing those steps here! Sounds similar to another example we've documented here for Storyline 2.
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.
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.
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.
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.
Hi Thomas!
I'm happy to investigate! Would you mind sharing your file so that we can see which triggers you've already created?
You can do so by using the "add attachment" button in this discussion. Or you can share the file privately with our Support Engineers by using this link.
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.
I followed these instructions on Storyline 3 and it worked. Thank you so much for posting!!!
I've tried following these instructions but the Next button is available after about 5 seconds regardless of variable value.
Use the Add Attachment button to attach your .story file, and let someone take a look at it.
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.
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.
Hi Benedict
see if the attached works how you want
Wow! Thanks for responding to my question Wendy.
My PC with SL3 software is in the office, I will check back on this when back office monday. But am so impressed by speed of your response, just have to say thank you again :)
Hi Benedict,
Here is another way you can do the same like Wendy did. The only difference is, you will see the visited/completed state after visiting the branching/inner slides. Attached is the Story file for your reference.
hi Wendy, I have since tested the file, it works! Thanks much.
hi Satyabrata, I have tested your file too, it works! Seeing the visited/completed state after visiting the branching/inner slides is a nice touch. Thanks!
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!
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.
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.
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.
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
Hi, I'm developing an eLearning where there is a menu slide with three options that the user can click to access information on multiple layers. We want users to explore each of the three options before they are allowed to move on to the next slide. I have it set up so that the Next button is disabled when the timeline starts on the slide. I also have set up three variables (one for each option) and set the variable to false. When the user clicks on each option, it takes the user to the various layers. After the user has visited the layer, I change the state of the option to visited (which shows a checkmark) and set the variable flag to true. I have a trigger that states if all variables are set to true, then change Next button to Normal. All this works correctly. The two issues that I am experiencing are:
I am not able to share the eLearning file, but I did include screenshots of the Triggers and slide properties. Any assistance would be greatly appreciated, I can't seem to figure out what I am missing. Thanks, Claire
Place this trigger on the layers, as one of the actions when the Return to Menu object is clicked.
If the layers can be visited at random, you need to place it on each layer, otherwise, just the last one.
Without the file, I have no ideas about the audio file. If you could sanitize it, you could attach that slide here.
Walt thanks for the speedy reply - your fix worked! Thanks so much!