Disabling the next button

Apr 20, 2016

I've read a few threads on this but don't understand.  Enclose a sample of the problem.  I simply want the next button to be hidden or disabled until the learner has visited all the layers in this slide - then I want it to reappear.

But what happens is that the next button appears on the last level visited (I get that) but not then when you go back to the base layer.  It's a mystery to me

Do I have to add conditions (which seems a bit complicated) or is it something to do with how I have set up the base layer.  And please could you show me what to do and explain why? 

I'd really appreciate some help with this.

11 Replies
Dave Cameron

Hi Mark, 

I’m no expert but I think the next buttons are being hidden because they are set to 'hidden' when the timeline starts. When the user clicks the ‘Return to FAQs’ button they return to the start of the timeline again and the button is hidden.

I’ve attached a solution where I added an all_visited variable. It’s set at 0 initially and changes to 1 when all the layers are visited.

Now that’s in place I’ve changed the trigger for hiding the next button when the timeline starts to only work on condition that all_visited is 0. I added another trigger to say if all_visited is 1, display the button when the timeline starts.

I’ve left the previous button alone so it still disappears when you return to the start. You could copy the triggers and change which button is hidden/displayed from within the triggers to see what’s happening.

Hope this helps, as I say I’m no expert but can get things to work! Hopefully someone will let us know if there’s a more simple solution. 

Dave 

Walt Hamilton

<rant> "Normal" design is for the reader to be faced with hundreds of words of text, or hours worth of video, then click NEXT and do it over again, in a very linear fashion. I can't count how many of those I've been subjected to. <rant off>

There is not a simpler solution than some form of what Dave is suggesting. If you want a highly customized process, you have to do a lot of customizing, but the control you get in the end is worth it.

Mark Robertson

Thanks Walt.  I understand what you are saying and yes I have had to do quite a lot of customising to make the material work in the way I need.  But all I'm trying to do in this instance is get people to interact with a slide for a while and be unable to access the next button until they've done that.  Surely this is a common requirement (even for the sort of course you describe!).  I can't understand why what I'm doing (show the next button when states are visited) doesn't work in this case, and am sure I'm missing a trick somewhere.  I'll have another go today, following the advice given so far and see what I can do, but if anyone can tell me what I'm doing wrong that would be very helpful,

Crystal Horn

Hi Mark! I took a look at your setup, and Dave summed up the issue: that trigger to change the next button to hidden when the timeline starts will always fire when you return to the base layer. I noticed that the next button is revealed on the last layer on which the learner clicks, so the trigger to show the next button based on the states IS working, but once you return to the FAQs, the "hidden" trigger will again fire.

BUT I did find a way to use conditions on your "hidden trigger" to only fire under the following circumstances: if shape structure is not equal to visited, OR shape include is not equal to visited, OR shape help is not equal to visited, OR shape what's involved is not equal to visited.

Trigger Panel

That way, if any of those shapes are not visited, it will hide the next button.  That trigger won't fire, however, if all of those shapes are visited.  You won't even need your trigger to change the next button to normal, since it will default to normal unless the above conditions apply.

I attached your modified project file; you'll just have to put the same conditions on your previous button trigger.

Can you tell I was excited to figure that out?  :)

Walt Hamilton

To Answer your question about what is wrong,  the problem is this trigger;

 

The "When " portion of the trigger tells what action the trigger should watch for, so it knows when to fire.
"When State is ..." is not an action, and therefore does not work to initiate a trigger. This is not your fault; it is an error on the part of Storyline's programmers. It should not have been included in the trigger wizard in the "When ... " dropdown, even though sometimes it does work. Those rare times are highly dependent on timing and a great deal of luck. Who wants their interaction to work "If I get lucky?"
The problem is that people use it thinking that it means "When state changes", but it is not programmed that way, so it cannot consistently work in the "When" portion.
It is, however very reliable when used where it belongs, and that is in the conditions portion of triggers.

Crystal's story works because she has changed the "When" part to an action (Timeline starts), and put the "State is ..." in the conditions part, which is what it is programmed to do.

 

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