Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Callback Functions in JavaScript Callbacks with Timers Triggering an Animation

Cristian Gerardo Hernandez Barrios
Cristian Gerardo Hernandez Barrios
28,382 Points

We have a function startAnimation. The startAnimation function should be triggered 2 seconds after the page loads. Updat

Please help, i think my code is correct, but is say that is incorrect, and i can't use anonymous function, i set the interval... i'm stuck

app.js
const section = document.getElementById("animateMe");

function startAnimation() {
  //Applies spinning animation to section element

  section.className = "animateMe";
}

startAnimation();
setInterval(startAnimation,  2000);
index.html
<!DOCTYPE html>
<html lang="en">
    <head>
        <title></title>
        <link rel='stylesheet' href='styles.css'>
    </head>
    <body>
        <section id="animateMe">
            <p>Animate Me in 2 Seconds!</p>
        </section>
        <script src='app.js'></script>
    </body>
</html>

1 Answer

Matthew Caloger
Matthew Caloger
12,903 Points

You'll want to use setTimeout rather than setInterval. setTimeout does the action once after the given delay, setInterval repeats it.

setTimeout(startAnimation,  2000);
Cristian Gerardo Hernandez Barrios
Cristian Gerardo Hernandez Barrios
28,382 Points

You're right, thanks. It's works. Thank you, i fortget the TimeOut action.