Animation in ES6

Animation in ES6

In JavaScript, the animation feature is used to manage the aspect that the CSS (Cascading Style Sheet) can’t. JavaScript provides various new elements that help us to construct complicated animation such as Fireworks, Roll-in and Roll-out, Fade effects. We can easily shift the DOM (Document Object Model) elements like <div>, <img/> and many others.

We can create the animation with the help of the following two methods in ES6.

  • With the help of requestAnimationFrame() method: This method executes the function if the screen is ready for the next iteration. It accepts the single line function. We can create animated effects when we invoke this function in a repeated way. The process of creating animation is done frame by frame. The browser invokes the frames.
  • With the help of setInterval() method: This method is used to accept two arguments in the form of an integer and a function. We can also terminate this method with the help of clearInterval() method.

Now, we will discuss each method in detail.

requestAnimationFrame() method

The requestAnimationFrame() method is easy to establish but complicated to terminate. It is used to create gentle animation. We can create the loops and timings required to set up manually. This method cannot be used with some specific intervals. This method contains the loop at 60fps (frames per second) to create a gentle and smooth animation. We cannot execute it in the background.

Here, we have an illustration of the same.

Example1

<html>  
   <head>  
      <script type = "text/javascript">  
            var image = null;  
            function init(){   
               image = document.getElementById('myimage'); 
               image.style.position = 'relative';      
               image.style.left = '50px';    
            }      
            function moveRight(){   
               img.style.left = parseInt( 
               img.style.left) + 100 + 'px';   
            }   
            window.onload = init;   
      </script>  
   </head>  
   <body>  
      <form>  
         <image id = "myimage" src = "train1.png" />  
         <center> 
            <p>Click on the below button to move the image left</p>  
         <input type = "button" value = "Click Me" onclick = "moveLeft();" /> 
      </center>  
      </form> 
   </body> 
</html> 

Output

After the execution of the above code, we got the following output:

Animation in ES6

In the above example, we tried to create a simple animation with the help of DOM object properties and JavaScript functions. First, we tried to get the DOM object with the help of getElementById(), then stored the object into a global variable.

Here, we also have another example of creating the animation with the help of setTimeout(), and clearTimeout() functions.

Example2

<html>  
   <head>  
      <title>JavaScript Animation</title>  
      <script type = "text/javascript">  
            var animation ;  
            function init(){   
               img = document.getElementById('myimg');      
               img.style.position = 'relative';     
               img.style.left = '0px';  
            }   
            function towardRight(){   
               img.style.left = parseInt(img.style.left) + 10 + 'px';     
               animation = setTimeout(towardRight,50);  
            }   
            function stop() {      
               clearTimeout(animation);     
              img.style.left = '0px';    
            }   
            window.onload = init;   
      </script>  
   </head>  
   <body>  
      <form>  
         <img id = "myimg" src = "train1.png" />  
         <center> 
         <h2 style="color:darkred;">Click on the following buttons to manage animation</h2>  
         <input type="button" value="Start" onclick = "towardRight();" />  
         <input type = "button" value="Stop" onclick = "stop();" />  
         <center> 
      </form>     
   </body>  
</html> 

Output

After the successful execution of the above example, we got the following output:

Animation in ES6

setInterval() method

In ES6, this method is used as a classical method, which helps to create animation effects. The setInterval() method depends upon the recursive execution of the source code. It helps us to modify the frame of the element by frame.

Syntax

animation = setInterval(display, t);   // To invoked the function after t milliseconds
clearInterval(animation);                  // For terminate the process

In the above syntax, when the display function modifies the element style, the setInterval(display, t) method can be used for step-by-step modifications in element style after a time interval. If we have a small-time interval, then the animation looks regular.

Rollover with a Mouse Event

In the rollover image, the event refers to an image on which when we shift the mouse pointer, then the HTTP (Hypertext transfer protocol) modifies the image with another image. But, when we move the mouse pointer from the image, then it shows the previous image.

Here, we have an example to understand the above concept.

Example

<html> 
   <head> 
      <script type = "text/javascript">
            if(document.images) { 
               var img1 = new Image();      
               img1.src = "cat.jpg"; 
               var img2 = new Image();      
               img2.src = "tiger.jpg"; 
            } 
      </script> 
   </head> 
   <body> 
   <center>  
      <a href = "#" onMouseOver = "document.myImg.src = img2.src;" 
         onMouseOut = "document.myImg.src = img1.src;"> 
         <img name = "myImg" src = "train.jpg" /> 
      </a><br><br> 
      <h2>Shift your mouse over the image to see the modification</h2> 
   </center> 
   </body> 
</html>

Output

After the execution of the code, we got the following output:

Animation in ES6

Page Printing in ES6

The user often requires a print button on the web page which is used to print the data on the web page with the help of a printer. JavaScript facilitates us to perform printing a web page. In JavaScript, we have window.print() function, which is used to print the current web page. Window.print() function can be used with the onclick event.

Syntax

window.print();

Example

We have an example to elaborate the above function.

<html>  
<head>   
</head>  
<body>  
    <center>  
        <h2>Hello World </h2>  
        <h3>Welcome to ES6</h3>  
        <h3>Click on the print button to see the modifications</h3>  
        <input type = "button" value = "Print" onclick = "window.print()"/> 
    </center>  
</body>  
</html>

Output

After the execution of the code, we got the following output:

Animation in ES6

When we click on the print button, then we got the following output:

Animation in ES6