bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/DOM and Browser APIs
JavaScript•DOM and Browser APIs

HTML DOM Animation

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind HTML DOM Animation?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

<!___ html>
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Style the Elements
Create an Animation Container
HTML DOM Animation

Learn to create HTML animations using JavaScript.

A Basic Web Page

To demonstrate how to create HTML animations with JavaScript, we will use a simple web page:

Example

<!DOCTYPE html>
<html>
<body>
<h1>My First
 JavaScript Animation</h1>
<div id="animation">My animation will go here</div>
</body>
</html>

Create an Animation Container

All animations should be relative to a container element.

Example

<div id ="container">
 <div id ="animate">My
 animation will go here</div>
</div>

Style the Elements

The container element should be created with style = " position: relative ".

The animation element should be created with style = " position: absolute ".

Example

Formatted code
#container {
  width: 400px;
  height: 400px;
  position: relative;
  background: yellow;
}
#animate {
  width: 50px;
  height: 50px;
  position: absolute;
  background: red;
}

Live preview

Animation Code

JavaScript animations are done by programming gradual changes in an element's style.

The changes are called by a timer. When the timer interval is small, the animation looks continuous.

Example

id = setInterval(frame, 5);
function frame() {
 if (/* test for finished */) {
 clearInterval(id);
 } else {
 /* code to change the element style */
}
}

Create the Full Animation Using JavaScript

Example

function myMove() {
  let id = null;
  const elem = document.getElementById("animate");
  let pos = 0;
  clearInterval(id);
  id = setInterval(frame, 5);
  function frame() {
    if (pos == 350) {
      clearInterval(id);
    } else {
    pos++;
    elem.style.top = pos + 'px';
    elem.style.left = pos + 'px';
  }
}
}

Previous

HTML Form Validation

Next

HTML DOM Document