Forum Discussion

cmarie021's avatar
cmarie021
Community Member
25 days ago
Solved

Conditional Navigation with Hotspots

I'm doing a hotspot interaction with 5 hotspots, and I'm trying to disable the Next button until all hotspots have been clicked on (in no particular order). I've set a Variable for each hotspot that is set to True when the hotspot is clicked. I'm trying to make a Trigger to set the Next button (hidden by default) to Normal on the condition that all hotspot variables have been set to True.

The problem is I don't have a suitable item to select under "When" for the Trigger that would change the Next button to normal visibility. I can't have the button change states "When the timeline starts/ends on this slide" because all the hotspots are layers on the same slide rather than separate layers; by the time the hotspots have all been clicked on, the timeline has already started (and ended). There's no object for them to click on for the "When" trigger that would switch the next button's state. I could select a random hotspot or hotspot object for the "When", but unless they choose that hotspot last, it would enable the Next button before all the hotspots have been found. 

This seems like this must be a very common place to get stuck, but nothing has worked so far. I'm totally new to this kind of interaction. Thank you!

  • Hi cmarie021​,

    There are a couple of ways to go about this, and here's one. First, make sure you're sure you're adjusting all the appropriate variables to True (there were a couple that didn't have triggers to make them True). Then, add the following trigger to each Continue button on each layer:

    You can make this trigger on one layer, copy and paste onto each layer, and then make sure "next-button 1" on the base layer is selected.

    I'm attaching a copy of the file with these suggested edits.

    Cute illustration btw! 😊

5 Replies

  • Hi cmarie021​,

    There are a couple of ways to go about this, and here's one. First, make sure you're sure you're adjusting all the appropriate variables to True (there were a couple that didn't have triggers to make them True). Then, add the following trigger to each Continue button on each layer:

    You can make this trigger on one layer, copy and paste onto each layer, and then make sure "next-button 1" on the base layer is selected.

    I'm attaching a copy of the file with these suggested edits.

    Cute illustration btw! 😊

  • Nedim's avatar
    Nedim
    Community Member

    It all depends on when you want the Next button to become enabled.

    In the attached example, I assumed the Next button should only become active after all content has been viewed and the Continue button has been clicked on each layer. For each layer, I used the following trigger setup:















    Note: The order of triggers is important in this setup. Triggers that update variables must execute before any trigger that evaluates them (such as enabling the Next button). Otherwise, the logic might not work as expected.

  • cmarie021's avatar
    cmarie021
    Community Member

    Thank you so much to you both; they both worked! 

    I happened to find a different solution after I posted and before I saw your responses, though since I'm new to this I am wondering if for whatever reason my solution is weird and less advised. I added a "Jump to slide: this slide" to each layer's Continue button so it would re-load the slide, and combined that with changing the state of the Next button when the timeline started (re-started) on the slide.

    It's good to have several ways around this.

  • cmarie021​ : And here's yet another way: Don't use hotspots. Instead, use shapes with a solid fill set to 100% transparency. You can add a Visited state to the shapes, and enable Next based on all of the shapes being Visited. 

     

    Note: The states could also be used in conditions for a trigger that disables Next when the timeline starts.

    • A “when timeline starts” triggers runs every time the user reaches the slide—even if the Slide Properties are set to “Resume saved state.”  Therefore, if you don’t want the trigger to run in some situations, you need to add conditions to the trigger.