Cursor Trail Effect using JavaScript

Cursor Trail Effect using JavaScript



All Source Code : https://www.patreon.com/onlinetutorials Get now more than 1000+ source code just by clicking on this link …

source

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cursor Trails</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="cursor"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js" integrity="sha512-7eHRwcbYkK4d9g/6tD/mhkf++eoTHwpNM9woBxtPUBWm67zeAfFC+HrdoE2GanKeocly/VxeLvIqwvCdk7qScg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script>
        document.addEventListener("DOMContentLoaded", () => {
            let cursor = document.querySelector('.cursor');
            for (let i = 0; i < 20; i++){
                let span = document.createElement('span');
                span.style.setProperty('--i', i+1);
                span.style.left = i*15+'px';
                cursor.appendChild(span);
            }
            document.addEventListener('mousemove', e=> {
                gsap.to("span", {
                    x: e.clientX,
                    y: e.clientY,
                    stagger: 0.05
                })
            })
        })
    </script>
</body>
</html>
*
{
    margin: 0;
    padding: 0;
}
body
{
    background: #2e2c39;
    overflow: hidden;
}
.cursor 
{
    position: absolute;
    left: 40px;
    pointer-events: none;
}
.cursor span 
{
    position: absolute;
    width: 12px;
    height: 60px;
    background: #fff;
    transform: translate(-50%,-50%);
    z-index: 1;
    border-top: 60px solid #ff7534;
    border-bottom: 60px solid #00c464;
}
.cursor span:nth-child(9)
{
    z-index: 1000;
}
.cursor span:nth-child(9)::before 
{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background: url(chakra.png);
    background-size: cover;
    animation: animate 20s linear infinite;
}
@keyframes animate 
{
    0% 
    {
        transform: rotate(0deg);
    }
    100% 
    {
        transform: rotate(360deg);
    }
}

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *