Trae实现动漫人物眼睛跟随鼠标移动的登录页面

354 阅读3分钟

前言

你是否看到一个登录页面,它的背景是一个充满活力的动漫人物,她的眼睛会跟随你的鼠标移动,仿佛在注视着你。

这个页面不仅美观,而且富有互动性,让人眼前一亮。那么,这个页面是如何实现的呢?让我们一起来探讨一下。

在这个看似简单的登录页面背后,隐藏着前端技术的精妙运用。通过纯CSS和原生JavaScript,我们创造了一个具有生命力的动漫人物,她的眼睛能够实时追踪鼠标移动,为冰冷的登录界面注入了灵魂。

我们给Trae 简单的提示,看看Trae能不能实现这个效果。 等待几分钟之后,Trae 生成的效果

动漫任务向右下角看的效果 image-20250903183916722 动漫任务向左下角看的效果 image-20250903183922320 动漫任务向上看的效果 image-20250903183929032

Trae核心代码解读

鼠标跟随动画的实现原理非常简单,就是通过监听鼠标移动事件,获取鼠标的坐标,然后根据坐标计算出眼睛的位置,最后将眼睛的位置应用到页面上。

眼睛跟随鼠标的核心算法,主要是使用了三角函数来计算角度和距离,然后根据角度和距离来计算瞳孔的位置。

document.addEventListener('mousemove', (e) => {
    const eyes = document.querySelectorAll('.eye');

    eyes.forEach(eye => {
        const pupil = eye.querySelector('.pupil');
        const eyeRect = eye.getBoundingClientRect();
        
        // 计算眼睛中心点坐标
        const eyeCenterX = eyeRect.left + eyeRect.width / 2;
        const eyeCenterY = eyeRect.top + eyeRect.height / 2;
        
        // 使用三角函数计算角度和距离
        const angle = Math.atan2(e.clientY - eyeCenterY, e.clientX - eyeCenterX);
        const maxDistance = 8; // 限制瞳孔移动范围
        const distance = Math.min(maxDistance, Math.hypot(e.clientX - eyeCenterX, e.clientY - eyeCenterY) / 5);
        
        // 计算瞳孔新位置
        const pupilX = Math.cos(angle) * distance;
        const pupilY = Math.sin(angle) * distance;
        
        // 应用平滑变换
        pupil.style.transform = `translate(calc(-50% + ${pupilX}px), calc(-50% + ${pupilY}px))`;
    });
});

毛玻璃效果,主要是使用了CSS的backdrop-filter属性来实现。让登录表单的背景模糊,从而让表单上面的动漫人物更加生动形象。

.login-container {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

表单提交处理,这里Trae只是简单的模拟登录成功,实际项目中需要根据项目的需求来处理表单提交,比如发送请求到后端,验证用户信息,等等。

document.querySelector('form').addEventListener('submit', (e) => {
    e.preventDefault();
    const username = document.getElementById('username').value;
    const password = document.getElementById('password').value;

    if (username && password) {
        // 模拟登录成功
        alert('登录成功!欢迎 ' + username);
    } else {
        alert('请填写完整信息');
    }
});

实现这个效果的意义

传统的登录页面往往冰冷机械,而Trae AI创造的动漫人物登录界面,标志着人机交互从功能性向情感化的重大转变。当用户看到动漫人物的眼睛随着鼠标移动而转动时,会产生一种被关注和理解的感觉,这种微妙的心理效应能够显著提升用户体验。

总结

通过结合CSS动画、JavaScript事件处理和毛玻璃效果,我们实现了一个具有动态交互和视觉吸引力的动漫人物登录界面。这不仅增加了页面的趣味性,也提升了用户的参与度和满意度。

Trae的表现也是值得称赞的,他通过精心设计的动画和视觉效果,成功地将动漫人物与登录功能结合,创造出了一种全新的用户体验,虽然个别网站已经实现了,但是作为前端无需在自己找代码,或者自己手搓,Trae AI 已经帮我们实现了,我们只需要简单的替换或者是修改,就可以把这个效果融入到我们的项目里面,快点来试试Trae,帮你实现这个眼睛跟随鼠标移动的效果吧。