Likes Animation using Animate.css Library - Coding Torque

Likes Animation using Animate.css Library - Coding Torque

Likes Animation 

Hello Guys! Welcome to Coding Torque. In this blog, I'm going to explain to you how to make Likes Animation using Animate.css Library. This will be a step-by-step guide. Let's get started 🚀.

Let's go step by step:

Step 1: HTML Code

<!doctype html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Font Awesome Icons  -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
        integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA=="
        crossorigin="anonymous" />
    <title>Like animation using animate.css - @code.scientist</title>
</head>

<body>

        <h1 class="animated bounceInDown">Animations</h1>
        <h2 class="animated bounceIn">with Animate.css</h2>

        <div id="animation-container"></div>
        <button id="animation-button" class="animated fadeInUp"><i class="fas fa-thumbs-up"></i></button>

        <div id="footer" class="animated zoomIn">
            <i class="fas fa-code animated swing infinite"></i>with<i
                class="fas fa-heart animated pulse infinite"></i>by<a href="#">Coding Journey</a>
        </div>
</body>

</html>


Output Till Now


Likes Animation using Animate.css Library - Coding Torque

Step 2: CSS Code


* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: "Roboto", sans-serif;
    color: #333;
    text-align: center;
    overflow-x: hidden;
}

a {
    color: #336699;
    text-decoration: none;
}

a:hover,
a:focus {
    color: #23527c;
    text-decoration: underline;
}

h1,
h2 {
    font-weight: 100;
    letter-spacing: 2px;
}

h1 {
    font-size: 38px;
    margin: 40px 0 10px 0;
}

h2 {
    font-size: 26px;
    margin: 10px 0;
}

h2.animated {
    animation-delay: 1s;
    /* animation-iteration-count: infinite;
animation-duration: 0.5s; */
}

#animation-container {
    position: relative;
    height: 50vh;
    width: 50vw;
    margin: 30px auto;
    /* border: 1px solid #333; */
    overflow: hidden;
}

.animated-icon {
    position: absolute;
    color: #333;
    font-size: 50px;
}

#animation-button {
    display: block;
    margin: 0 auto;
    font-size: 30px;
    height: 80px;
    width: 80px;
    color: #fff;
    background-color: rgba(51, 51, 51, 0.7);
    border: 1px solid rgba(0, 0, 0, 0.075);
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    transition: all 0.3s;
    animation-delay: 1.5s;
}

#animation-button:hover {
    background-color: rgba(51, 51, 51, 0.85);
}

#animation-button:active {
    background-color: rgba(51, 51, 51, 1);
}

#footer {
    font-size: 18px;
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 25px;
    animation-delay: 1.5s;
}

#footer i,
#footer a {
    font-size: 20px;
    margin: 0 8px;
}

#footer a {
    font-style: italic;
    font-weight: 600;
}

#footer .fa-code {
    color: #336699;
}

#footer .fa-heart {
    color: #ff3333;
}

@media (max-width: 767px) {
    h1 {
        font-size: 30px;
        margin: 25px 0 10px 0;
    }

    h2 {
        font-size: 18px;
    }

    #animation-container {
        height: 50vh;
        width: 70vw;
    }

    #animation-button {
        font-size: 26px;
        width: 70px;
        height: 70px;
    }

    .animated-icon {
        font-size: 40px;
    }

    #footer {
        font-size: 16px;
        padding: 20px;
    }

    #footer i,
    #footer a {
        font-size: 18px;
    }
}

@media (max-height: 639px) {
    #footer {
        position: static;
        padding-bottom: 10px;
    }
}


Output Till Now


Likes Animation using Animate.css Library - Coding Torque

Step 3: JavaScript Code

// Global Variables
const animationContainer = document.getElementById("animation-container");
const animationButton = document.getElementById("animation-button");
const animationEntrancesArray = ["bounceIn", "bounceInDown", "bounceInLeft", "bounceInRight", "bounceInUp", "fadeIn", "fadeInDown", "fadeInLeft", "fadeInRight", "fadeInUp", "flipInX", "flipInY", "lightSpeedIn", "rotateIn", "rotateInDownLeft", "rotateInDownRight", "rotateInUpLeft", "rotateInUpRight", "slideInUp", "slideInLeft", "slideInRight", "slideInDown", "zoomIn", "zoomInDown", "zoomInLeft", "zoomInRight", "zoomInUp"];
const colorsArray = ["#ff6384", "#36a2eb", "#ffce56", "#4bc0c0", "#9966ff", "#ff9f40", "#333333", "#ff99cc", "#004c99", "#999900"];
let colorsArrayIndex = 0;

// Event Listeners
animationButton.addEventListener("click", animationButtonClick);

function animationButtonClick(event) {
    const animationContainerWidth = animationContainer.clientWidth;
    const animationContainerHeight = animationContainer.clientHeight;
    const animatedIconFontSize = window.innerWidth < 767 ? 40 : 50;

    const xPosRand = Math.floor(Math.random() * (animationContainerWidth - animatedIconFontSize));
    const yPosRand = Math.floor(Math.random() * (animationContainerHeight - animatedIconFontSize));

    const animationEntrance = animationEntrancesArray[Math.floor(Math.random() * animationEntrancesArray.length)];

    const newElement = document.createElement("i");
    newElement.classList.add("fas", "fa-thumbs-up", "animated-icon", "animated", animationEntrance);
    newElement.setAttribute("style", `left:${xPosRand}px; top:${yPosRand}px; color: ${colorsArray[colorsArrayIndex]};`);
    colorsArrayIndex = (colorsArrayIndex + 1) % colorsArray.length;

    animationContainer.appendChild(newElement);

    setTimeout(() => {
        newElement.classList.remove(animationEntrance);
        newElement.classList.add("zoomOut");
        setTimeout(() => {
            newElement.remove();
        }, 1000);
    }, 1500);
}

Final Output


Code Credits: @Coding_Journey

Written by: Coding Torque | Piyush Patil

If you want me to code any project or post any specific post, feel free to DM me at IG @code.scientist or @codingtorque

If you have any doubt or any project ideas feel free to Contact Us 

Hope you find this post helpful💖 
 

 Follow us on Instagram for more projects like this👨‍💻 

Post a Comment

Previous Post Next Post