Open In App

How to add fade-out effect using pure JavaScript ?

The fade effect is described as the gradual increase and decrease in the opacity of the selected portion. In other words, the fade effect is termed as the increase and decrease in opacity with respect to time. When this effect is applied with a gradual decrease in the opacity it is known as the fade-out effect. This is the effect that is used to fade out the selected part on the page with a selected interval of time. Fade-out and Fade-in effect is wonderful to use in web projects as it emphasizes the styling of the web page. 

The fadeOut effect is used to change the level of opacity for the selected elements from visible to hidden. By using this method, the faded element will not occupy any space. We are using the setInterval method and clearInterval method in this logic. 



Syntax of in-built functions to be used in codes:

JavaScript setInterval() Method: The setInterval() method repeats a given function at every given time interval. 



Syntax:

setInterval(function_reference, time interval)

JavaScript clearInterval() Method: The clearInterval() function in javascript clears the interval which has been set by the setInterval() function before that.

Syntax:

clearInterval(parameterof time to stop calling a function)

Approach 1: On page loading, we are calling a function called fadeout(), in which we are using the setInterval() method which takes two parameters: one is function reference(which is hidden in this case) and other is timer(in number).
In the hide function, we are taking property opacity in the variable of name opacity and reducing it by 0.1 every time the fadeout function is called.

Example 1: This example describes the above-explained approach. 




<body id="body">
    <br>
    <h1 style="color: green">
        GeeksForGeeks
    </h1>
  
    <b>
        How to create fade-out effect
        on page load using javascript
    </b>
  
    <p>
        This page will fade-out
        after loading
    </p>
</body>
  
<script type="text/javascript">
    var opacity=0;
    var intervalID=0;
    window.onload=fadeout;
        function fadeout(){
            setInterval(hide, 200);
        }
    function hide(){
        var body=document.getElementById("body");
        opacity =
    Number(window.getComputedStyle(body).getPropertyValue("opacity"))
      
            if(opacity>0){
                opacity=opacity-0.1;
                        body.style.opacity=opacity
            }
            else{
                clearInterval(intervalID);
            }
        }
</script>

Output:

 

Explanation:

Approach-2: In this approach, complete logic is written inside a variable which is done with the help of setInterval() method, here complete function is to be written in place of the function reference. This approach is comparatively easy. 

Example: This example shows the above-explained approach.




<body id="body">
    <br>
  
    <h1 style="color: green">
        GeeksForGeeks
    </h1>
  
    <b>
        How to create fade-out effect
        on page load using javascript
    </b>
  
  
    <p>
        This page will fade-out after loading
    </p>
</body>
  
<script type="text/javascript">
    window.onload=fadeout;
      
    function fadeout() {
        var fade= document.getElementById("body");
          
        var intervalID = setInterval(function () {
      
    if (!fade.style.opacity) {
        fade.style.opacity = 1;
    }
      
      
    if (fade.style.opacity > 0) {
        fade.style.opacity -= 0.1;
    }
      
    else {
        clearInterval(intervalID);
    }
      
        }, 200);
    }
</script>

Output:

 

Explanation: Note: Opacity lies between 0-1, in this case, the initial opacity value is set to be 1.

We have taken 0.1 and 200 milliseconds as numerical values, any values are acceptable.


Article Tags :