Activating the "Visited" Button State

Hello: I am working on a SL 360 project that includes a menu with 12 buttons that allows learners to jump to a specific slide. Each slide also includes Previous and Next buttons that allow the learner to scroll linearly through the slides. The problem is that if a learner begins scrolling through the slides linearly, and then jumps back to the menu for some reason, the menu does not show that they have visited a particular slide by displaying the "Visited" state. I have tried to solve the problem using variables (change variable on each slide to "true" when timeline reaches 1 second, and change state of button on menu to Visited when variable changes), but that doesn't seem to work. This project is going to be published on a public website, so I would really like to get it working so that each button shows "visited" no matter how the learner navigates through the project. Thank you!

4 Replies
Walt Hamilton

For what it's worth

1. I would wait until the end of the slide to set the visited variable; that way, they have truly seen the slide, and not gotten credit for just clicking through.

2. You will almost always have problems using a trigger you create to set a built-in state like "Visited". Those states have their own triggers, and they will almost always conflict with yours. Most of us use a created state, like "Completed", and then create a trigger to set the state to Completed.

3. You can't use the change of the variable on a distant slide to change a state on the menu slide, because the menu slide can't hear the variable change. When a variable changes, it notifies only the current slide.

All of that notwithstanding, you are on the right track, and nearly there.  You need to add only two things. Create triggers on the menu slide to change the state of the 12 buttons to completed when the timeline starts, if their variable is equal to True. eg. "Change the state of Button1 to Completed when timeline starts on this slide if variable SectionOneVisited is equal to True" and etc.

Secondly, go to the properties of the menu slide and set it to "reset to initial condition on revisit". That way, the timeline always starts when the visitor comes back to it.