I want a user to be able to click on Next, only when reaching the last slide layer. The trigger, when created, immediately jumps onto the base layer. so I have to copy it onto the slide layer desired. This trigger however never works.
I have tried adding the triggers to hide/disable Next on the other layers, but the only solution seems to be that the next button must be active on this base layer only.
There are ways you can get this to work, but I'm concerned about how the next button will work if the slide is revisited later on in the course. This also can be fixed, but requires extra work unfortunately.
I copied your next button to the base layer, moved it off stage and set its initial state to "hidden". I then added a trigger to it telling it to jump to the next slide when it's state is changed to "normal".
On your last layer, I changed the trigger for your next button there to change the state of the next button on the base layer to "normal" when clicked. This causes your course to advance to the next slide.
Finally, back on your base layer, I added a slide level trigger at the beginning to reset the state of the next button on your base layer to "hidden", so that if someone revisits the slide your next button functionality will still work.
Seems like a crazy amount of work around for a simple feature, but it does work.
Probably a 100 other ways to do it, but this is what popped in my head this morning.
I've attached the file, good luck, and hope this helps!
It's a known issue. Hoping to see a fix for this eventually. My fix is a little bit different than Brian's. I use a number variable and a "listener trigger" on the base slide.
Create numeric variable goNext
Create trigger that jumps to the next slide when the variable goNext changes
Create a trigger in your layer on the button to add one to goNext when the button is clicked.
One cool thing about using a variable is you can fire a set of triggers from anywhere, including from Javascript, simply by incrementing the value. In this way you can create "functions" using methods similar to Brian's above.
I'll routinely create objects with a default state of hidden. Adding triggers to this shape, the object is set to act as a function. By adding a change state of object to hidden as the last trigger, the object is queued up to fire again just as soon as the sequence finishes. Pairing this with the variable listener, you can handily setup trigger sets in your master slide that can be executed from the base slide.
By adding a change state of object to hidden as the last trigger, the object is queued up to fire again just as soon as the sequence finishes.
Ah, so this is how you fix the slide revisit issue I was worried about. Any way you could share a small example of how you do this? I'm not sure I would have tried it doing a "jump to slide" action, thinking that any triggers after the jump to slide would not have fired.
This only works the first time you visit the slide and I can't select 'reset to initial state' because the user needs to keep visited states 'visited'.
I have moved the trigger to the bottom of the triggers list but it doesn't make a difference...?
This only works the first time you visit the slide and I can't select 'reset to initial state' because the user needs to keep visited states 'visited'.
Yes, my reset state trigger isn't working...
To fix this I've implemented Steve's suggestion above and created a number variable named "NextButtonSlide1".
I then changed the trigger on the off stage base layer object to jump to the next slide when "NextButtonSlide1" changes.
Finally I changed the trigger on your last layer's next button to adjust the variable "NextButtonSlide1" by 1 when it's clicked.
Doing this works each time the slide is revisited, even without resetting to initial state.
I've attached the modified .story file, hope this helps!
9 Replies
Looks like this may be a known issue. One of those things where you can't be sure if it's a bug or a feature... https://community.articulate.com/discussions/articulate-storyline/next-trigger-on-slide-layer
There are ways you can get this to work, but I'm concerned about how the next button will work if the slide is revisited later on in the course. This also can be fixed, but requires extra work unfortunately.
I copied your next button to the base layer, moved it off stage and set its initial state to "hidden". I then added a trigger to it telling it to jump to the next slide when it's state is changed to "normal".
On your last layer, I changed the trigger for your next button there to change the state of the next button on the base layer to "normal" when clicked. This causes your course to advance to the next slide.
Finally, back on your base layer, I added a slide level trigger at the beginning to reset the state of the next button on your base layer to "hidden", so that if someone revisits the slide your next button functionality will still work.
Seems like a crazy amount of work around for a simple feature, but it does work.
Probably a 100 other ways to do it, but this is what popped in my head this morning.
I've attached the file, good luck, and hope this helps!
Classification: UNCLASSIFIED
Thank you, very kind of you to help :)
Glad that Brian was able to assist you here Kelly.
I just wanted to pop in and let you know that replying to the forums via e-mail attaches your signature. You are welcome to pop in and edit if needed.
Thanks Leslie.
I assume that this is a known issue then.
Are there plans to fix so these steps are not necessary?
It's a known issue. Hoping to see a fix for this eventually. My fix is a little bit different than Brian's. I use a number variable and a "listener trigger" on the base slide.
One cool thing about using a variable is you can fire a set of triggers from anywhere, including from Javascript, simply by incrementing the value. In this way you can create "functions" using methods similar to Brian's above.
I'll routinely create objects with a default state of hidden. Adding triggers to this shape, the object is set to act as a function. By adding a change state of object to hidden as the last trigger, the object is queued up to fire again just as soon as the sequence finishes. Pairing this with the variable listener, you can handily setup trigger sets in your master slide that can be executed from the base slide.
Ah, so this is how you fix the slide revisit issue I was worried about. Any way you could share a small example of how you do this? I'm not sure I would have tried it doing a "jump to slide" action, thinking that any triggers after the jump to slide would not have fired.
This only works the first time you visit the slide and I can't select 'reset to initial state' because the user needs to keep visited states 'visited'.
I have moved the trigger to the bottom of the triggers list but it doesn't make a difference...?
Yes, my reset state trigger isn't working...
To fix this I've implemented Steve's suggestion above and created a number variable named "NextButtonSlide1".
I then changed the trigger on the off stage base layer object to jump to the next slide when "NextButtonSlide1" changes.
Finally I changed the trigger on your last layer's next button to adjust the variable "NextButtonSlide1" by 1 when it's clicked.
Doing this works each time the slide is revisited, even without resetting to initial state.
I've attached the modified .story file, hope this helps!
This discussion is closed. You can start a new discussion or contact Articulate Support.