Skip to main content
100%

Dealing with Timers

✓ Published1🌍 Public
CCurran Kelleher
Last edited Aug 12, 2024
Created on Jul 29, 2024
Forked from Clickable Circles

This visualization demonstrates how to manage timers for blinking effects in interactive data visualizations. It renders a set of colored circles using D3.js, where clicking a circle highlights it and triggers a blinking animation through alternating stroke colors. The code uses D3’s selection API with `select` and `join` for efficient SVG updates, and manages a timer via `setTimeout` within the main function. A cleanup function is returned to clear the timeout, ensuring proper handling during hot reloads, similar to React’s `useEffect` cleanup pattern.

AI-generated description

Click on a circle to see it highlight and blink!

This example is about dealing with timers, such as the one related to the blinking of the circle. It shows how you can return a "cleanup function" from main, which will be invoked whenever the app is hot reloaded. This is similar to the cleanup function returned from the useEffect callback in React.

For examples of this in various frameworks, see d3-rosetta

MIT Licensed

Similar vizzes