Advancing slide only after all layers have been visited

Jun 12, 2013

We have a slide with several layers which may be visited in random order. We do not want the player to be able to advance to the next slide until all of the layers have been opened and completed. There is no visited states on our buttons. How do we do this?

16 Replies
Josh Uhlig

You can do this with variables.  There are several ways to set it up.  For example, you could define a true/false variable for each layer.  Set the initial value of each variable to false, and trigger them to change to true at the end of the related layer's timeline.  Assuming you advance the slide with a next button, you can have the 'jump to next slide' trigger have a condition that each of the true/false variables has a value of True.  You could also have the next button trigger a message layer that indicates the learner has not viewed all the necessary infomation if they click it prematurely (at least one of the true/false variables is still false).

Patrice Goforth

Hi Maria,

I had a similar issue on a current project. I ended up taking the "Next" button off the Player on each of these slides and creating my own Next Button on the slides with different states.

This button is "Disabled" until the learner visits all of the layers on slide, regardless of the order. I created a trigger that once all of the layers were "Visited," it turns the Next Button to "Normal" and the learner advances using that route.

I'm sure there are other ways to do this, but this was a suggestion that was made to me when I posted a similar question. It works well for what I needed.

Good luck!


Maria Ramsay

I still can't get it to work. We've got variables set up and the next button doesn't work until all layers have been visited. We just can't get the final step, the trigger to the next slide to work. Can you tell me exactly what the configuration for that trigger should be? Here is what we have so far. Let me know if you couldn't see the link to the file. THanks.

Antony Snow

Hi Maria,

Sorry for jumping in on this but I think you are still able to use the 'next' button without viewing each layer because you have 2 player triggers on your base layer; your custom one to jump to the next slide on condition that each variable equals 'true' as well as the default 'jump to next slide when user clicks the next button'.

If you delete the default trigger, your slide should work as expected.


Maria Ramsay

But we aren't able to use the next button on any of the layers, and in fact it doesn't trigger the jump to the next slide when all the conditions are met. If you try to click next from any layer, it doesn't work, and that's what we want, but the final trigger, which is jump to next slide only when all condition are met is the one that's not working. HELP!!!

Antony Snow

Having had a closer look, I think there are 2 possible causes:

  1. The trigger to jump to the next slide when all variables equal 'true' has a condition that the 'Slide Complete' variable must be 'true' but I can't see where this variable is changing on your slide?
  2. The triggers on each respective layer are set to change the applicable variable to 'true' when the timeline ends (presumably this is meant to be when the audio finishes?). However, the timeline on layers Tab 2 and Tab 5 extend beyond the audio duration so although you think the timeline has ended when the audio finishes, the timeline is still playing for some time after.

If option 2 is the cause, you could either drag the end of the timeline on these layers back to the end of the audio OR amend the trigger to adjust the variable when media completes.

Antony Snow

Hi Maria,

Please ignore point 1 in my previous post - I have now found where the 'Slide Complete' variable is being updated.

As per point 2 above, I have gone through and reduced the timeline for each layer (including the base layer) so that they end when the audio does and I have also deleted the default player trigger to jump to the next slide when the user clicks on next.

I believe that this is now working as expected and I attach my updated version (I have added a text box that references each variable so you can see it updating to 'true' at the end of each layer).

I hope this helps

This discussion is closed. You can start a new discussion or contact Articulate Support.