Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    How to create Airpods Animation using HTML CSS and JS

    15 July 2025

    How to create Heart Animation using HTML CSS and JS

    11 July 2025

    How to create Tab Bar Navigation using HTML CSS and JS

    9 July 2025
    Facebook X (Twitter) Instagram YouTube Telegram Threads
    Coding StellaCoding Stella
    • Home
    • Blog
    • HTML & CSS
      • Login Form
    • JavaScript
    • Hire us!
    Coding StellaCoding Stella
    Home - JavaScript - How to create Airpods Animation using HTML CSS and JS
    JavaScript

    How to create Airpods Animation using HTML CSS and JS

    Coding StellaBy Coding Stella15 July 2025No Comments12 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Email WhatsApp Copy Link

    Let’s create an AirPods Animation using HTML, CSS, and JavaScript! This project will display a sleek product slider featuring AirPods or similar items, complete with smooth transitions and animations to make it look modern and interactive. 🎧

    We’ll use:

    • HTML to structure the slider and AirPods images.
    • CSS to style the layout, add hover effects, and create smooth sliding animations.
    • JavaScript to control the slider functionality, such as switching between slides automatically or with buttons.

    Whether you’re a beginner or an experienced developer, this project is a great way to practice building stylish, animated sliders that can be used for product showcases or landing pages. Let’s get started!

    HTML :

    This HTML code creates a product slider webpage showing Airpods with images, product details, and buttons like “See More,” “Add to Cart,” and “Checkout.” It has a header with navigation links, multiple product cards inside a carousel, and arrow buttons to navigate through products, styled using external CSS and made interactive using JavaScript.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Airpods Animation | @coding.stella</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        
    <header>
        <div class="logo">Stella</div>
        <nav>
            <a href="">Home</a>
            <a href="">Info</a>
            <a href="">Contact</a>
        </nav>
    </header>
        <div class="carousel">
            <div class="list">
                <div class="item">
                    <img src="images/img1.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod GHTK</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
    
                <div class="item">
                    <img src="images/img2.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod GHTK</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
    
                <div class="item">
                    <img src="images/img3.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod GHTK</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
    
                <div class="item">
                    <img src="images/img4.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod GHTK</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
    
                <div class="item">
                    <img src="images/img5.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
    
                <div class="item">
                    <img src="images/img6.png">
                    <div class="introduce">
                        <div class="title">DESIGN SLIDER</div>
                        <div class="topic">Airpod</div>
                        <div class="des">
                            <!-- 20 lorem -->
                            Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia, laborum cumque dignissimos quidem atque et eligendi aperiam voluptates beatae maxime.
                        </div>
                        <button class="seeMore">SEE MORE &#8599</button>
                    </div>
                    <div class="detail">
                        <div class="title">Airpod GHTK</div>
                        <div class="des">
                            <!-- lorem 50 -->
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, reiciendis suscipit nobis nulla animi, modi explicabo quod corrupti impedit illo, accusantium in eaque nam quia adipisci aut distinctio porro eligendi. Reprehenderit nostrum consequuntur ea! Accusamus architecto dolores modi ducimus facilis quas voluptatibus! Tempora ratione accusantium magnam nulla tenetur autem beatae.
                        </div>
                        <div class="specifications">
                            <div>
                                <p>Used Time</p>
                                <p>6 hours</p>
                            </div>
                            <div>
                                <p>Charging port</p>
                                <p>Type-C</p>
                            </div>
                            <div>
                                <p>Compatible</p>
                                <p>Android</p>
                            </div>
                            <div>
                                <p>Bluetooth</p>
                                <p>5.3</p>
                            </div>
                            <div>
                                <p>Controlled</p>
                                <p>Touch</p>
                            </div>
                        </div>
                        <div class="checkout">
                            <button>ADD TO CART</button>
                            <button>CHECKOUT</button>
                        </div>
                    </div>
                </div>
            </div>
            <div class="arrows">
                <button id="prev"><</button>
                <button id="next">></button>
                <button id="back">See All  &#8599</button>
            </div>
        </div>
    
        <script src="script.js"></script>
    </body>
    </html>

    CSS :

    This CSS styles an Airpods product slider with animated transitions using custom variables for scale, blur, position, and opacity. It controls layout, header, carousel items, and navigation buttons, animating product details and text when switching between items or showing full product info.

    @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
    body{
        margin: 0;
        background-color: #F4F4F4;
        font-family: Poppins;
    }
    :root{
        --item1-transform: translateX(-100%) translateY(-5%) scale(1.5);
        --item1-filter: blur(30px);
        --item1-zIndex: 11;
        --item1-opacity: 0;
    
        --item2-transform: translateX(0);
        --item2-filter: blur(0px);
        --item2-zIndex: 10;
        --item2-opacity: 1;
    
        --item3-transform: translate(50%,10%) scale(0.8);
        --item3-filter: blur(10px);
        --item3-zIndex: 9;
        --item3-opacity: 1;
    
        --item4-transform: translate(90%,20%) scale(0.5);
        --item4-filter: blur(30px);
        --item4-zIndex: 8;
        --item4-opacity: 1;
        
        --item5-transform: translate(120%,30%) scale(0.3);
        --item5-filter: blur(40px);
        --item5-zIndex: 7;
        --item5-opacity: 0;
    }
    header{
        width: 1140px;
        max-width: 90%;
        display: flex;
        justify-content: space-between;
        margin: auto;
        height: 50px;
        align-items: center;
    }
    header .logo{
        font-weight: bold;
    }
    header nav a{
        margin-left: 30px;
        text-decoration: none;
        color: #555;
        font-weight: 500;
    }
    
    /* carousel */
    .carousel{
        position: relative;
        height: 800px;
        overflow: hidden;
        margin-top: -50px;
    }
    .carousel .list{
        position: absolute;
        width: 1140px;
        max-width: 90%;
        height: 80%;
        left: 50%;
        transform: translateX(-50%);
    }
    .carousel .list .item{
        position: absolute;
        left: 0%;
        width: 70%;
        height: 100%;
        font-size: 15px;
        transition: left 0.5s, opacity 0.5s, width 0.5s;
    }
    .carousel .list .item:nth-child(n + 6){
        opacity: 0;
    }
    .carousel .list .item:nth-child(2){
        z-index: 10;
        transform: translateX(0);
    }
    .carousel .list .item img{
        width: 50%;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: right 1.5s;
    }
    
    .carousel .list .item .introduce{
        opacity: 0;
        pointer-events: none;
    }
    .carousel .list .item:nth-child(2) .introduce{
        opacity: 1;
        pointer-events: auto;
        width: 400px;
        position: absolute;
        top: 50%;
        transform:  translateY(-50%);
        transition: opacity 0.5s;
    }
    .carousel .list .item .introduce .title{
        font-size: 2em;
        font-weight: 500;
        line-height: 1em;
    }
    .carousel .list .item .introduce .topic{
        font-size: 4em;
        font-weight: 500;
    }
    .carousel .list .item .introduce .des{
        font-size: small;
        color: #5559;
    }
    .carousel .list .item .introduce .seeMore{
        font-family: Poppins;
        margin-top: 1.2em;
        padding: 5px 0;
        border: none;
        border-bottom: 1px solid #555;
        background-color: transparent;
        font-weight: bold;
        letter-spacing: 3px;
        transition: background 0.5s;
    }
    .carousel .list .item .introduce .seeMore:hover{
        background: #eee;
    }
    .carousel .list .item:nth-child(1){
        transform: var(--item1-transform);
        filter: var(--item1-filter);
        z-index: var(--item1-zIndex);
        opacity: var(--item1-opacity);
        pointer-events: none;
    }
    .carousel .list .item:nth-child(3){
        transform: var(--item3-transform);
        filter: var(--item3-filter);
        z-index: var(--item3-zIndex);
    }
    .carousel .list .item:nth-child(4){
        transform: var(--item4-transform);
        filter: var(--item4-filter);
        z-index: var(--item4-zIndex);
    }
    .carousel .list .item:nth-child(5){
        transform: var(--item5-transform);
        filter: var(--item5-filter);
        opacity: var(--item5-opacity);
        pointer-events: none;
    }
    /* animation text in item2 */
    .carousel .list .item:nth-child(2) .introduce .title,
    .carousel .list .item:nth-child(2) .introduce .topic,
    .carousel .list .item:nth-child(2) .introduce .des,
    .carousel .list .item:nth-child(2) .introduce .seeMore{
        opacity: 0;
        animation: showContent 0.5s 1s ease-in-out 1 forwards;
    }
    @keyframes showContent{
        from{
            transform: translateY(-30px);
            filter: blur(10px);
        }to{
            transform: translateY(0);
            opacity: 1;
            filter: blur(0px);
        }
    }
    .carousel .list .item:nth-child(2) .introduce .topic{
        animation-delay: 1.2s;
    }
    .carousel .list .item:nth-child(2) .introduce .des{
        animation-delay: 1.4s;
    }
    .carousel .list .item:nth-child(2) .introduce .seeMore{
        animation-delay: 1.6s;
    }
    /* next click */
    .carousel.next .item:nth-child(1){
        animation: transformFromPosition2 0.5s ease-in-out 1 forwards;
    }
    @keyframes transformFromPosition2{
        from{
            transform: var(--item2-transform);
            filter: var(--item2-filter);
            opacity: var(--item2-opacity);
        }
    }
    .carousel.next .item:nth-child(2){
        animation: transformFromPosition3 0.7s ease-in-out 1 forwards;
    }
    @keyframes transformFromPosition3{
        from{
            transform: var(--item3-transform);
            filter: var(--item3-filter);
            opacity: var(--item3-opacity);
        }
    }
    .carousel.next .item:nth-child(3){
        animation: transformFromPosition4 0.9s ease-in-out 1 forwards;
    }
    @keyframes transformFromPosition4{
        from{
            transform: var(--item4-transform);
            filter: var(--item4-filter);
            opacity: var(--item4-opacity);
        }
    }
    .carousel.next .item:nth-child(4){
        animation: transformFromPosition5 1.1s ease-in-out 1 forwards;
    }
    @keyframes transformFromPosition5{
        from{
            transform: var(--item5-transform);
            filter: var(--item5-filter);
            opacity: var(--item5-opacity);
        }
    }
    /* previous */
    .carousel.prev .list .item:nth-child(5){
        animation: transformFromPosition4 0.5s ease-in-out 1 forwards;
    }
    .carousel.prev .list .item:nth-child(4){
        animation: transformFromPosition3 0.7s ease-in-out 1 forwards;
    }
    .carousel.prev .list .item:nth-child(3){
        animation: transformFromPosition2 0.9s ease-in-out 1 forwards;
    }
    .carousel.prev .list .item:nth-child(2){
        animation: transformFromPosition1 1.1s ease-in-out 1 forwards;
    }
    @keyframes transformFromPosition1{
        from{
            transform: var(--item1-transform);
            filter: var(--item1-filter);
            opacity: var(--item1-opacity);        
        }
    }
    
    /* detail  */
    .carousel .list .item .detail{
        opacity: 0;
        pointer-events: none;
    }
    /* showDetail */
    .carousel.showDetail .list .item:nth-child(3),
    .carousel.showDetail .list .item:nth-child(4){
        left: 100%;
        opacity: 0;
        pointer-events: none;
    }
    .carousel.showDetail .list .item:nth-child(2){
        width: 100%;
    }
    .carousel.showDetail .list .item:nth-child(2) .introduce{
        opacity: 0;
        pointer-events: none;
    }
    .carousel.showDetail .list .item:nth-child(2) img{
        right: 50%;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail{
        opacity: 1;
        width: 50%;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        text-align: right;
        pointer-events: auto;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .title{
        font-size: 4em;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .specifications{
        display: flex;
        gap: 10px;
        width: 100%;
        border-top: 1px solid #5553;
        margin-top: 20px;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .specifications div{
        width: 90px;
        text-align: center;
        flex-shrink: 0;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .specifications div p:nth-child(1){
        font-weight: bold;
    }
    .carousel.carousel.showDetail .list .item:nth-child(2) .checkout button{
        font-family: Poppins;
        background-color: transparent;
        border: 1px solid #5555;
        margin-left: 5px;
        padding: 5px 10px;
        letter-spacing: 2px;
        font-weight: 500;
    }
    .carousel.carousel.showDetail .list .item:nth-child(2) .checkout button:nth-child(2){
        background-color: #693EFF;
        color: #eee;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail  .title,
    .carousel.showDetail .list .item:nth-child(2) .detail  .des,
    .carousel.showDetail .list .item:nth-child(2) .detail .specifications,
    .carousel.showDetail .list .item:nth-child(2) .detail .checkout{
        opacity: 0;
        animation: showContent 0.5s 1s ease-in-out 1 forwards;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail  .des{
        animation-delay: 1.2s;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .specifications{
        animation-delay: 1.4s;
    }
    .carousel.showDetail .list .item:nth-child(2) .detail .checkout{
        animation-delay: 1.6s;
    }
    .arrows{
        position: absolute;
        bottom: 10px;
        width: 1140px;
        max-width: 90%;
        display: flex;
        justify-content: space-between;
        left: 50%;
        transform: translateX(-50%);
    }
    #prev,
    #next{
        width: 40px;
        height: 40px;
        border-radius: 50%;
        font-family: monospace;
        border: 1px solid #5555;
        font-size: large;
        bottom: 20%;
        left: 10%;
    }
    #next{
        left: unset;
        right: 10%;
    }
    #back{
        position: absolute;
        z-index: 100;
        bottom: 0%;
        left: 50%;
        transform: translateX(-50%);
        border: none;
        border-bottom: 1px solid #555;
        font-family: Poppins;
        font-weight: bold;
        letter-spacing: 3px;
        background-color: transparent;
        padding: 10px;
        /* opacity: 0; */
        transition: opacity 0.5s;
    }
    .carousel.showDetail #back{
        opacity: 1;
    }
    .carousel.showDetail #prev,
    .carousel.showDetail #next{
        opacity: 0;
        pointer-events: none;
    }
    .carousel::before{
        width: 500px;
        height: 300px;
        content: '';
        background-image: linear-gradient(70deg, #DC422A, blue);
        position: absolute;
        z-index: -1;
        border-radius: 20% 30% 80% 10%;
        filter: blur(150px);
        top: 50%;
        left: 50%;
        transform: translate(-10%, -50%);
        transition: 1s;
    }
    .carousel.showDetail::before{
        transform: translate(-100%, -50%) rotate(90deg);
        filter: blur(130px);
    }
    @media screen and (max-width: 991px){
        /* ipad, tablets */
        .carousel .list .item{
            width: 90%;
        }
        .carousel.showDetail .list .item:nth-child(2) .detail .specifications{
            overflow: auto;
        }
        .carousel.showDetail .list .item:nth-child(2) .detail .title{
            font-size: 2em;
        }
    }
    @media screen and (max-width: 767px){
        /* mobile */
        .carousel{
            height: 600px;
        }
        .carousel .list .item{
            width: 100%;
            font-size: 10px;
        }
        
        .carousel .list{
            height: 100%;
        }
        .carousel .list .item:nth-child(2) .introduce{
            width: 50%;
        }
        
        .carousel .list .item img{
            width: 40%;
        }
        .carousel.showDetail .list .item:nth-child(2) .detail{
            backdrop-filter: blur(10px);
            font-size: small;
        }
        .carousel .list .item:nth-child(2) .introduce .des,
        .carousel.showDetail .list .item:nth-child(2) .detail .des{
            height: 100px;
            overflow: auto;
        }
        .carousel.showDetail .list .item:nth-child(2) .detail .checkout{
            display: flex;
            width: max-content;
            float: right;
        }
    }

    JavaScript:

    This JavaScript adds click functionality to the carousel buttons—switching between Airpod items using “next” and “prev” buttons by rearranging item elements, temporarily disabling clicks to prevent spam, and toggling a “showDetail” class when clicking “See More” or “Back” to show or hide full product details.

    let nextButton = document.getElementById('next');
    let prevButton = document.getElementById('prev');
    let carousel = document.querySelector('.carousel');
    let listHTML = document.querySelector('.carousel .list');
    let seeMoreButtons = document.querySelectorAll('.seeMore');
    let backButton = document.getElementById('back');
    
    nextButton.onclick = function(){
        showSlider('next');
    }
    prevButton.onclick = function(){
        showSlider('prev');
    }
    let unAcceppClick;
    const showSlider = (type) => {
        nextButton.style.pointerEvents = 'none';
        prevButton.style.pointerEvents = 'none';
    
        carousel.classList.remove('next', 'prev');
        let items = document.querySelectorAll('.carousel .list .item');
        if(type === 'next'){
            listHTML.appendChild(items[0]);
            carousel.classList.add('next');
        }else{
            listHTML.prepend(items[items.length - 1]);
            carousel.classList.add('prev');
        }
        clearTimeout(unAcceppClick);
        unAcceppClick = setTimeout(()=>{
            nextButton.style.pointerEvents = 'auto';
            prevButton.style.pointerEvents = 'auto';
        }, 2000)
    }
    seeMoreButtons.forEach((button) => {
        button.onclick = function(){
            carousel.classList.remove('next', 'prev');
            carousel.classList.add('showDetail');
        }
    });
    backButton.onclick = function(){
        carousel.classList.remove('showDetail');
    }

    In conclusion, creating an AirPods Animation with HTML, CSS, and JavaScript is a fun and useful project to learn how to design modern product sliders. By combining structure, styling, and simple scripts, we’ve built a smooth and attractive slider perfect for showcasing products on a website.

    If your project has problems, don’t worry. Just click to download the source code and face your coding challenges with excitement. Have fun coding!

    Animation heart JavaScript valentine
    Share. Copy Link Twitter Facebook LinkedIn Email WhatsApp
    Previous ArticleHow to create Heart Animation using HTML CSS and JS
    Coding Stella
    • Website

    Related Posts

    JavaScript

    How to create Heart Animation using HTML CSS and JS

    11 July 2025
    JavaScript

    How to create Tab Bar Navigation using HTML CSS and JS

    9 July 2025
    JavaScript

    How to create Newton’s Sun and Moon Loading Animation using HTML CSS and JS

    5 July 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Trending Post

    Master Frontend in 100 Days Ebook

    2 March 202420K Views

    How to make Modern Login Form using HTML & CSS | Glassmorphism

    11 January 202419K Views

    How to make I love you Animation in HTML CSS & JavaScript

    14 February 202417K Views

    How to make Valentine’s Day Card using HTML & CSS

    13 February 202413K Views
    Follow Us
    • Instagram
    • Facebook
    • YouTube
    • Twitter
    ads
    Featured Post

    How to create Airpods Animation using HTML CSS and JS

    15 July 2025

    How to make Flip A Coin using HTML CSS & JavaScript

    11 April 2024

    How to make a New 9 Dot Navigation Menu in HTML CSS & JavaScript

    12 January 2024

    20 JavaScript Tips and Tricks You Can Use Right Now

    25 January 2024
    Latest Post

    How to create Airpods Animation using HTML CSS and JS

    15 July 2025

    How to create Heart Animation using HTML CSS and JS

    11 July 2025

    How to create Tab Bar Navigation using HTML CSS and JS

    9 July 2025

    How to create Newton’s Sun and Moon Loading Animation using HTML CSS and JS

    5 July 2025
    Facebook X (Twitter) Instagram YouTube
    • About Us
    • Privacy Policy
    • Return and Refund Policy
    • Terms and Conditions
    • Contact Us
    • Buy me a coffee
    © 2025 Coding Stella. Made with 💙 by @coding.stella

    Type above and press Enter to search. Press Esc to cancel.

    Ad Blocker Enabled!
    Ad Blocker Enabled!
    Looks like you're using an ad blocker. We rely on advertising to help fund our site.
    Okay! I understood