How to Create a Custom Timer in Articulate Storyline: A Step-by-Step Guide

How to Create a Custom Timer in Articulate Storyline
How to Create a Custom Timer in Articulate Storyline

Timers are essential in eLearning development, enhancing user engagement through gamification, quizzes, and scenarios. While Articulate Storyline doesn’t offer a built-in timer control like some other platforms, you can create a custom timer using JavaScript and Storyline variables. This comprehensive guide will walk you through the process.


Why Use a Custom Timer in Storyline?

Creating a custom timer allows you to:

  • Enhance User Engagement: Timers introduce a sense of urgency, making activities more engaging.
  • Customize Functionality: Control how the timer behaves in different scenarios.
  • Integrate Seamlessly: Ensure the timer fits perfectly within your course design.


Step 1: Create Variables in Storyline

First, we’ll set up the necessary variables.

1. SlTimer (Numeric Variable)

Purpose: Sets the duration of your timer.

How to Set:

  • Go to Variables panel.
  • Click Create a new variable.
  • Name it SlTimer.
  • Set the Type to Number.
  • Default Value: Enter the duration in minutes (e.g., 50 for a 50-minute timer).

2. TimerEnable (Boolean Variable)

Purpose: Indicates whether the timer is running.

How to Set:

  • Name it TimerEnable.
  • Set the Type to True/False.
  • Default Value: False.

3. TimerCount (Text Variable)

Purpose: Displays the real-time timer values.

How to Set:

  • Name it TimerCount.
  • Set the Type to Text.
  • Default Value: Leave it blank or 00:00:00.


Step 2: Implement JavaScript in Slide Master

Now, we’ll add the JavaScript code to control the timer.

  • Go to the View tab.
  • Click on Slide Master.

Add an Execute JavaScript Trigger

Insert New Trigger:

    • In the Triggers panel, click Create a new trigger.
    • Choose Execute JavaScript from the action list.
      • When: Timeline starts.
      • Object: This slide.
      • Condition: Execute only when TimerEnable is equal to True.

      Paste the JavaScript Code:


          Pro Tips for Effective Timer Management

          Automatic Start: The timer starts when you set TimerEnable to True.

          Automatic Stop: When the timer ends, TimerEnable resets to False.

          Display Time’s Up Message:

          Create a trigger that shows a “Time’s Up” layer when TimerEnable changes to False.

          Stopping the Timer Manually:

          Use an Execute JavaScript trigger with code to clear the interval if needed.

            Customizing the Timer Display

            Add a Text Box:

            • Insert a text box on your slide where you want the timer to display.
            • Set the text to reference TimerCount (e.g., %TimerCount%).

            Additional Customization

            • Change Timer Format: Modify the JavaScript to change how the time is displayed.
            • Pause and Resume: Implement additional variables and triggers to pause or resume the timer.


            Conclusion

            By following these steps, you’ve created a customizable timer in Articulate Storyline using JavaScript and variables. This timer can enhance your eLearning courses by adding interactive elements that engage users and control pacing.

            I hope this guide helps our eLearning developer and instructional designer community create more dynamic and engaging content.


            FAQs

            Q1: Can I use this timer in multiple slides?

            A: Yes, since the timer is implemented in the Slide Master, it will be available across all slides that use that master layout.

            Q2: Will the timer continue if the user navigates between slides?

            A: Yes, the timer will continue to run in the background unless explicitly stopped.

            Q3: How do I reset the timer?

            A: To reset the timer, set TimerEnable to False and then back to True, and reset SlTimer to your desired duration.

            Q4: Is it possible to count upwards instead of downwards?

            A: Yes, you can modify the JavaScript code to increment the timer instead of decrementing it.


            Share this article
            Shareable URL
            Leave a Reply

            Your email address will not be published. Required fields are marked *

            Read next