Trigger with conditions to show layer

Jun 14, 2012

Hi folks - anyone have a quick solution on how to show a layer after meeting a number of conditions?  I'm having some difficulty with it.

Just as an example - I want a layer to be displayed after the user clicks and had visited 3 other buttons.

Might be doing this wrong, but on the Trigger Wizard - window, I'm not sure what the "When:" field shoudl be set at.

So in summary....

2 layers...

want to show layer #2, only after the user has selected/visited a number of buttons on layer #1.



19 Replies
Raymond Wan

Hi Phil,

I've got four buttons....the user can click on them in any order.  all 4 have "visited" states as well.

So after the user has visted all of the buttons (in any order) I want the second layer to appear.

Right now i have no i'm going to do this step by step....

When i click on Trigger Wizard - I have the show layer as the action

Layer:  my selected layer

When:  Default it shows timeline starts...should I leave this?

Object: Default is the current slide I'm on...

and then I want to add all the conditions - those being, when all 4 buttons have been "visited"...

Am I missing anything from the steps above?

Phil Mayor

Sorry thought you only wanted to set the condtions, from the beginning (you are right so far)

Show layer 2

Your layer 2

When timeline starts

This slide

Then you need 4 conditions

 When object your button 1 is equal to visited

AND  When object your button 2 is equal to visited

AND  When object your button 3 is equal to visited

AND  When object your button 4 is equal to visited

Then as long as you are leaving the slide and coming back, this will work.

TBH visited state is probably not best practice you really want to use variables and a custom completed state.  This is because a visited state is activated as soon as the button is pressed, if you have more that one slide after the jump to trigger you have no guarante they did not just press the back button.

See the example I uploaded for how to use variable to track this

Aurelie Montibert


I also want a layer to be displayed after the user clicks and had visited 2 other buttons.

But these layers have sounds.

My problem is: the last layer shows WITH the second visited button and not AFTER.

I unsuccessfully tried different means to wait the end of the second button (timeline ends, media completes). 

I uploaded a file example.

Thanks for your help


Annie Jean

Hi Aurélie,

Do you want stage 3 to appear automatically or do you want it to appear when the user clicks on the next button?

Do they have to see the stages in order?

Veux-tu passer au stage 3 automatiquement veux-tu y aller quand l'apprenant clique sur le bouton "suivant"?

Est-ce qu'ils doivent voir les stages en ordre?

Ça change bien des choses et bien des façons de faire...

Bonne journée!

Have a nice day!


Aurelie Montibert



Je veux qu'il puisse visualiser les étapes 1 et 2 dans l'ordre qu'il souhaite, et qu'il ne puisse passer à l'étape 3 qu'après avoir visualisé ces 2 première étapes, et sans avoir à cliquer sur le bouton next.


J'ai utilisé un conditionnel 

When object 1 is equal to visited

AND  When object 2 is equal to visited

pour l'apparition du layer 3, et ai placé dans les layers 1et 2 un trigger pour passer l'objet correspondant à l'état "visited".

Jusque-là, ça fonctionne.


Dans les layers 1 et 2, je souhaite que le statut "visited" de l'objet correspondant se fasse à la fin de la voix du layer en question, et non au début.

J'ai donc conditionné le statut "visited" correspondantavec les valeurs "timeline ends" et "media completes" (en choisissant le son), mais sans succès : la diapositive se comporte toujours comme si la veleur renseignée était "When timeline starts". Là est mon problème.




I want user to look at stages 1 and 2 in the order he wishes. After the end of these two first stages, stage 3 plays automaticly, and without having to click the next button.


I used a conditional 

When object 1 is equal to visited

AND Whenobject 2 is equal to visited

for the display of the layer 3, and placed in layers 1 and 2 a trigger to put the corresponding object to the "visited" state.

To there, it works.


In layers 1 and 2, I wish that the status"visited " of the corresponding button appended at the end in the layer’s voice, and not at the beginning.

I thus set the status " visited " with the values "timeline ends " or  " media completes " (by choosing the sound), but unsuccessfully: the slide alwaysbehaves as if I choose " When timeline starts ". There is my problem.

Bridget Brown

Hey everyone!  Not sure if this is the right place to put this but it is a similar topic.  I have 5 buttons that I want users to visit.  If they try to click next without visiting all 5 I want them to see a small "warning" layer which is a graphic that pops up and says "You must click each slide first."  I have created a "visited state" for my buttons and I have put the conditions in and it is not working.  While it won't advance to the next slide without clicking each button (good!) it will only show the warning slide if you click the next button BEFORE clicking any of the 5 buttons on the slide.  

What is most frustrating about this is that I did the same exact thing earlier in the module and it worked PERFECTLY.  I even copied the conditions/triggers from there and reassigned them!  When that didn't work I rebuilt them from scratch.

I've attached the slide in question and the next slide in the presentation to see if anyone can take a look and see what I am not seeing.

Thanks for your help!!

Annie Jean

Hi Bridget,

I have looked at your file and you have to change the conditions on your "show warning" trigger.

You want it to show if any of the buttons are not visited. So change the "and" for "or".

Show layer Warning

When user clicks the Next button

if button1 is not visited

OR button 2 is not visited

OR button 3 is not visited and so on

Hope it helps and have a nice day!


Rebecca Fleisch Cordeiro

Hi Bridget,

Not sure why it worked with AND on another slide (perhaps the situation was different?), but as a way of explanation using a common scenario we've all experienced either as parents or as kids, the following seems like it would be an AND situation:

You can have dessert if youeat your chicken AND your potato AND your carrot.


If the plate is clean, meaningall of the food was eaten, the dessert appears.

So far so good. But, if any of the items aren't eaten, no dessert. And a warning.


If the chicken and the potato areeaten, but the carrots are left, the dessert doesn’t appear..WARNING: Oops. You need to eat all your food before you can move on to dessert.


if the carrots and potato are eaten, but the chicken is left, thedessert doesn’t appear: WARNING: Oops...


if the chicken and carrots are eaten, but the rice is left, thedessert doesn’t appear: WARNING! Oops...

(obviously also if 2 of the 3 aren't eaten the dessert also won't appear)

Thanks to for the free public domain clip art!

Graham Clark

By using states and triggers I'm trying to create a drag and drop which shows a layer once five shapes have been dropped onto another shape. However, I can't get it to work. I'd really appreciate it if someone could take a look at the attached file and let me know what I'm doing wrong. Thank you.

Walt Hamilton


Try this.  It needed three things

 Change the order of the triggers on the dropped items, so all the state changing is done first, and the show correct layer is done last. If you don't do that, when the user drops the last item, its state is drop correct, and the state of the other four is hidden, which would demand that you write triggers for every possible combination of drops.

Put a trigger on the correct layer to show the great job layer if the state of all the objects is hidden.

Change the initial state of the text box on the great job layer to visible and delete that trigger. I would also recommend that you change the trigger on each layer to hide this layer when timeline ends, instead of jump to slide, which may cause revisiting problems.

Any questions, ask.

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