Progress Status

Sep 30, 2022

I saw an email about using sliders and progress indicators and thought it would be great to add that to one of my courses.  I have the progress graphic with 7 states.  The problem I have is that I have six items that need to equal 100% so they can't be worth the same percent.  I created a state for the progress bar that reflects: 0, 20, 36, 52, 68, 84, and 100%, but I'm not sure how to write the variable condition to show the correct state since they don't have to view the items in a specific order.  The first item is worth 20% with the rest worth 16% each.  I might be approaching this in the wrong way but any guidance you can provide would be appreciated.

4 Replies
Judy Nollet

No matter how you divvy up the graphic, it still has 7 states of progress. Just consider those numbers 0-6.

Use a number variable that starts at 0, and then add 1 to its value when the user completes a given item.

  • Be sure the counting variable is not adjusted if the user repeats a given item.

Adjust the state of the progress graphic based on the value of the variable, which should also range from 0-6.

Cheryl Powers

@Judy Nollet - please elaborate on the statement below. this is exactly the problem we had trying to use a custom progress bar - when someone goes backward using previous button, it did not recognize that they have a higher percentage of progress and reverted backwards. if this is a condition of the counting variable, I would like more detail. thank you for sharing.

Be sure the counting variable is not adjusted if the user repeats a given item.

Judy Nollet

You need to use variables and trigger conditions to avoid adding to the progress-count variable (let's call it "Progress") when a user repeats a given item.

For example, suppose you want to add 1 to the Progress variable when the user clicks a certain button—but only the first time they click it. 

  • Create a T/F variable (let's call it "doneItem1") to track whether or not the user clicked the button. This variable's default value should be False. 
  • In the trigger that adds 1 to Progress when the button is clicked, add a condition so it only runs if doneItem1 = False. 
  • After that trigger, add a trigger that adjusts doneItem1 to True when the button is clicked. That will prevent the previous trigger from running the next time the user clicks the button. Thus, the Progress variable will not be changed.

If you need more info about conditions and variables, you can find it in these User Guide articles: