Delaying an Edge Animate asset until visible

Here’s a simple little modification that may be useful for people using Edge Animate. The default behavior for an Edge Animate animation is to play immediately. You can disable this of course and use the JavaScript API to play whenever you want. Here’s an interesting use for this. What if your Edge Animate asset is on a page where it may not be visible? For example, a page with lots of text or other assets above it? Here is how I solved it.

First, ensure you disable autoplay on the Stage element:

Next, click on the “Open Actions” panel and enter some text for the creationComplete event. I don’t write much JavaScript directly in Edge Animate, instead, I simply put in something simple, like console.log(‘yo mama!’), just to get Edge Animate to create the event and make it easier for me to find in my editor.

I created a simple application, ran the code, and ensured that it was not running (since I had disabled autoplay). Now for the fun part. How do we tell if we the Edge Animate asset is visible? I turned to Stack Overflow and found a great utility for this (well, for DOM items in general): Check if element is visible after scrolling As you can see, it checks the Window’s current scroll setting as well as the DOM item’s size.

Given this function, I decided on this basic pseudo-code:

if(visible) run the animation
else listen for scroll events and check if visible

Here is the code I came up with:

You can try a demo of this here: Please try not to be too amazed at my incredible animation and design skills.

  • A

    I´m new in this stuff

    And it doesn’t work for me
    Where should I place this code?

    And does it work with multiple animations?

    • http://www.raymondcamdencom/ Raymond Camden

      Did you read carefully? The post tells you where to put the code in.

  • Giulianna Trivellato

    I tried everything but it still doesn’t work…. what I might be forgetting? could you post the exemple files?

    • http://www.raymondcamdencom/ Raymond Camden

      They are posted at the URL towards the end of the blog post. The JS files are viewable if you view source to get the URLs. That’s not as easy as a zip, but is the best I can do right now.