labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
Guide
Videos
Walkthroughs
FAQ
Newsletter Archive
Documents
Classroom
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guide
Videos
Walkthroughs
FAQ
Newsletter Archive
Documents
Classroom
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guide
    • GETTING STARTED

      • Task Editor
      • Stimulus Presentation
      • Correctness of Response
      • Objects
      • Events
      • Variables
      • Task Wizard
      • Trial System
      • Study Design
        • Tasks
        • Blocks
        • Sessions
        • Groups
    • FEATURED TOPICS

      • Experiment Design
        • Creating a Study
        • Data Frame Patterns
      • Randomization & Balance
      • Eye Tracking
      • Questionnaires
      • Desktop App
      • Sample Studies
      • Participant Recruitment
      • API Access
        • REST API
        • Webhook API
        • WebSocket API
      • Other Topics

        • Precise Stimulus Timings
        • Multi User Studies
        • Head Tracking in Labvanced | Guide
    • MAIN APP TABS

      • Overview: Main Tabs
      • Dashboard
      • My Studies
      • Shared Studies
      • My Files
      • Experiment Library
      • My Account
      • License & Services
    • STUDY TABS

      • Overview: Study-Specific Tabs
      • Study Design
        • Tasks
        • Blocks
        • Sessions
        • Groups
      • Task Editor
        • Task Controls
        • The Trial System
        • Canvas and Page Frames
        • Objects
        • Object Property Tables
        • Variables
        • System Variables Tables
        • The Event System
        • Text Editor Functions
        • Eyetracking in a Task
        • Head Tracking in a Task
        • Multi-User Studies
      • Settings
      • Variables
      • Media
      • Texts & Translate
      • Launch & Participate
      • Subject Management
      • Dataview and Export
        • Dataview and Variable & Task Selection (OLD Version)
        • Accessing Recordings (OLD Version)
  • Videos
    • Video Overview
    • Getting Started in Labvanced
    • Creating Tasks
    • Element Videos
    • Events & Variables
    • Advanced Topics
  • Walkthroughs
    • Introduction
    • Stroop Task
    • Lexical Decision Task
    • Posner Gaze Cueing Task
    • Change Blindness Flicker Paradigm
    • Eye-tracking Sample Study
    • Infant Eye-tracking Study
    • Attentional Capture Study with Mouse Tracking
    • Rapid Serial Visual Presentation
    • ChatGPT Study
    • Eye Tracking Demo: SVGs as AOIs
    • Multi-User Demo: Show Subjects' Cursors
    • Gamepad / Joystick Controller- Basic Set Up
    • Desktop App Study with EEG Integration
    • Between-subjects Group Balancing and Variable Setup
  • FAQ
    • Features
    • Support Policy & Guidelines
    • Security & Data Privacy
    • Licensing
    • Precision of Labvanced
    • Programmatic Use & API
    • Using Labvanced Offline
    • Troubleshooting
    • Study Creation Questions
  • Newsletter Archive
  • Documents
  • Classroom
Timer Object displayed on a Labvanced experiment frame showing a countdown timer in MM:SS format

Timer Object

The Timer Object displays a visible countdown or count-up timer on screen during a trial. It integrates fully with the Labvanced event system: you control the timer using StartTimer, PauseTimer, and ResetTimer actions, and it fires triggers when it starts, pauses, ends, or crosses a whole-second boundary. The current time value is available as a readable and writable variable, making it straightforward to branch experiment logic based on elapsed or remaining time.

Table of Contents

  • Adding the Timer Object
  • Timer Setup Wizard
  • Object Properties
  • Controlling the Timer with Actions
  • Triggering Events from the Timer
  • Using Current Time as a Variable
  • Further Reading

Adding the Timer Object

In the task editor toolbar, open the Buttons & Navigation group and select Timer to add a Timer Object to the current frame.

Labvanced task editor toolbar with the Timer Object highlighted in the Buttons & Navigation group

When you add the element, a Timer Setup Wizard opens automatically. You can complete the wizard to pre-configure the timer and add common events in one step, or click Skip to configure everything manually.


Timer Setup Wizard

The setup wizard covers the most common configuration choices and can optionally add starter events for you.

Timer Setup Wizard dialog showing Duration, Directionality, Display, and Add These Events settings
OptionDescription
Timer Duration (seconds)Sets how long the timer runs. Enter a positive integer. Default is 60 seconds.
DirectionalityCount down starts at the duration and counts toward 0. Count up starts at 0 and counts toward the duration.
Show tenths of a secondWhen checked, the timer displays in MM:SS.T format instead of MM:SS.
Start timer on frame startAdds an event that fires StartTimer automatically when the frame begins.
Jump to next frame when timer endsAdds an event that fires Jump to Next Frame when the TimerEnded trigger fires.

You can skip any of the auto-events and configure them manually in the event editor instead.


Object Properties

All settings below are found in the Object Properties panel when the Timer Object is selected.

Timer settings

PropertyDefaultDescription
Duration (seconds)60The total duration the timer runs for, in seconds.
DirectionalityCount downCount down starts at the duration and counts toward 0. Count up starts at 0 and counts toward the duration.
Show tenths of a secondOffWhen enabled, the timer displays in MM:SS.T format. When off, it displays in MM:SS format. Not modifiable via events at runtime.

Note: Current Time (seconds) does not appear in the Properties panel, but it is readable and writable at runtime via the Set Object Property action in the event system. See Using Current Time as a Variable.

Object Properties panel for a Timer Object showing Duration, Current Time, and Counts Up fields

Style

PropertyWhat it controls
VisibilityOpacity from 0 (invisible) to 1 (fully visible).
Border-SizeBorder width in pixels. Default is 0 (no border).
Border-ColorBorder color. Has no visible effect when Border-Size is 0.
BG-ColorBackground fill of the bounding box. Enable Transparent to remove the fill.
RoundnessCorner rounding from 0 (sharp corners) to 1 (maximum rounding: an ellipse on rectangular elements, a circle on square elements).

Custom CSS

Check Change CSS Properties in the Style section to reveal the CSS textarea. Write standard CSS rules there. Labvanced automatically scopes each rule to the selected object, so your selectors only affect that element's internal DOM.

Styling the time display

Target span to change the font, color, size, or weight of the time readout:

span {
  font-size: 3em;
  color: #c0392b;
  font-family: "Courier New", monospace;
  font-weight: bold;
  letter-spacing: 0.05em;
}

Timer Object with custom CSS applied showing styled font and container
Modifications to the Timer Object style via CSS using the Object Properties panel.

Note on property precedence

Background color, border, and border-radius set in the Style panel are applied as inline styles on the element, which take precedence over custom CSS rules. If you need custom CSS to override a Style panel value, add !important to your rule. For these three properties, using the Style panel controls is generally simpler.


Controlling the Timer with Actions

Use the Control Element action in the event system to control the timer programmatically.

ActionWhat it does
StartTimerStarts the timer from its current position. If the timer was paused, it resumes from where it stopped.
PauseTimerPauses the timer at its current position without resetting it.
ResetTimerStops the timer and resets Current Time to its starting position: duration for count-down, 0 for count-up.

Example: start the timer automatically when the frame begins

Trigger: On Frame Start
Action: Control Element → Set Target: your Timer Object → StartTimer

Example: pause the timer when a button is clicked

Trigger: On Mouse Click → Set Target: your pause button
Action: Control Element → Set Target: your Timer Object → PauseTimer


Triggering Events from the Timer

The Timer Object fires the following triggers, which you can use as the "when" condition in any event.

TriggerWhen it fires
TimerStartedWhen StartTimer is called and the timer begins running.
TimerPausedWhen PauseTimer is called and the timer stops.
TimerEndedWhen the timer reaches its end: 0 for count-down, or the duration for count-up.
TimerThresholdFires once each time the timer crosses a whole-second boundary while running. Use this to execute logic at regular one-second intervals.

Example: advance to the next frame when the timer ends

Trigger: Media Object Trigger → Set Target: your Timer Object → Execute on: TimerEnded
Action: Jump to Next Frame

Example: record a variable every second

Trigger: Media Object Trigger → Set Target: your Timer Object → Execute on: TimerThreshold
Action: Set / Record Variable → your recording variable


Using Current Time as a Variable

The Current Time (seconds) property is a readable and writable runtime value. You can use the Set Object Property action to read the current time into another variable, or to seek the timer to a specific position.

This makes it possible to:

  • Record the exact time remaining when a participant responds
  • Branch experiment flow based on how much time has elapsed
  • Synchronize two timers by writing the same value to both

Example: record time remaining at response

Trigger: On Key Press → Set Target: your target key
Action 1: Set / Record Variable → create a variable (e.g. time_at_response), value source: Object Property → Set Target: your Timer Object → Current Time (seconds)
Action 2: Jump to Next Frame

Event setup with a Set / Record Variable action reading the Current Time value from a Timer Object

Further Reading

Event System

How triggers and actions are structured in Labvanced. Essential for wiring StartTimer, PauseTimer, and ResetTimer actions and responding to TimerEnded or TimerThreshold triggers.

Working with Variables

How to create, configure, and record variables. Covers the recording options you need when reading Current Time into a response variable.

All Objects

A full index of all objects available in the Labvanced experiment editor, including display, input, media, and recording elements.