广州总部电话:020-85564311
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

超炫鼠标粒子特效:简单实现,让你的网页瞬间高级

发布日期:2025-12-31 10:41:25 浏览次数: 811 来源:Silvana前端指北
推荐语
鼠标划过带起粒子特效,纯原生代码实现惊艳互动效果,新手也能轻松上手!

核心内容:
1. 效果展示:鼠标移动时生成带光晕的随机飘散粒子
2. 实现思路:监听事件+动态创建+CSS动画控制
3. 代码解析:HTML结构、CSS样式与JS逻辑的简洁配合
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!

前言

网页互动效果不一定都要复杂的框架加持。有时候几行原生代码,就能做出让人眼前一亮的动态效果。今天想分享一个我做的小案例:鼠标在页面上移动时,会从光标位置冒出一串带光晕的粒子,它们会向随机方向飘散然后慢慢消失。整个效果不依赖任何库,纯 HTML、CSS 和原生 JS 就能实现,新手也能看懂。

效果预览

当你在页面上移动鼠标时,光标经过的地方会即时生成一个个白色小圆点(粒子)。这些粒子带着淡淡的蓝色光晕,会朝着随机的斜向方向移动(上下左右都有可能),移动过程中逐渐变得透明,最后完全消失。背景是深色的,粒子的动态轨迹会看得特别清楚,整体有种轻盈又灵动的感觉。

目标与实现思路

核心目标

实现鼠标移动时动态生成粒子,粒子有随机的大小、移动方向和存在时长,最终自动消失

实现思路

  1. 监听鼠标移动事件,获取实时坐标

  2. 每次触发事件时,动态创建一个粒子元素

  3. 给粒子设置随机的大小、移动距离和动画时长

  4. 用 CSS 动画控制粒子的位移和透明度变化

  5. 动画结束后自动移除粒子元素,避免占用资源

HTML结构说明

整个 HTML 结构非常简洁:只有基础的文档结构,引入了 CSS 样式文件,然后在 body 里放了一段 JavaScript 脚本。没有多余的标签,所有粒子都是通过 JS 动态创建并添加到 body 中的,这样既保证了结构干净,又能灵活控制粒子的生成时机。

CSS样式详解

  • body 样式

min-height: 100vh让页面占满整个视口,overflow: hidden隐藏滚动条,避免粒子移动时出现页面滚动

  • .particle 类

position: absolute:让粒子可以基于页面绝对定位,方便通过 left 和 top 设置初始位置

border-radius: 50%:把正方形变成圆形粒子

 box-shadow:内层阴影增加质感,外层的蓝色阴影 (#1235f4) 营造光晕效果,让粒子更醒目

  • 动画 (@keyframes animate)

opacity: 1opacity: 0:实现粒子逐渐消失的效果

transform: translate(var(--move-x), var(--move-y)):通过 CSS 变量接收 JS 传来的随机移动距离,让每个粒子的轨迹都不一样

完整源码附录

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>粒子背景效果</title>
    <!-- 引入样式文件 -->
    <link rel="stylesheet" href="./style.css">
</head>
<body>
    <script>
        // 获取body元素,用于添加粒子
        let body = document.querySelector('body');
        
        // 创建粒子的函数(接收鼠标坐标x,y)
        function createParticle(x,y){
            // 创建一个div作为粒子
            let particle = document.createElement('div');
            // 添加粒子样式类
            particle.classList.add('particle');

            // 设置粒子初始位置(鼠标当前位置)
            particle.style.left = `${x}px`;
            particle.style.top = `${y}px`;

            // 生成随机移动距离(左右、上下方向)
            let moveX = (Math.random() - 0.5) * 400// -200到200之间的随机值
            let moveY = (Math.random() - 0.5) * 400;

            // 把随机距离存入CSS变量,供动画使用
            particle.style.setProperty('--move-x'`${moveX}px`);
            particle.style.setProperty('--move-y'`${moveY}px`);

            // 生成随机大小(2px到8px之间)
            let size = Math.random() * 6 + 2;
            particle.style.width = `${size}px`;
            particle.style.height = `${size}px`;

            // 生成随机动画时长(2s到5s之间)
            let duration = Math.random() * 3 + 2;
            particle.style.animationDuration = `${duration}s`;

            // 把粒子添加到页面
            body.appendChild(particle);

            // 动画结束后移除粒子(避免元素堆积)
            setTimeout(() => {
                particle.remove()
            }, duration * 1000);
        }

        // 监听鼠标移动事件,每次移动都创建粒子
        document.addEventListener('mousemove', e => {
            createParticle(e.clientX, e.clientY)
        })
    
</script>
</body>
</html>

style.css

/* 清除默认内外边距,统一盒模型 */
*{
    margin0;
    padding0;
    box-sizing: border-box;
}

/* 页面基础样式 */
body{
    min-height100vh/* 占满整个视口高度 */
    background#00040d/* 深色背景,突出粒子 */
    overflow: hidden; /* 隐藏滚动条 */
}

/* 粒子样式 */
.particle{
    position: absolute; /* 绝对定位,方便控制位置 */
    width6px;
    height6px;
    background#fff/* 粒子本身是白色 */
    border-radius50%/* 圆形粒子 */
    /* 阴影效果:内层增加质感,外层蓝色光晕 */
    box-shadow: inset 0 0 2px #121212,
    0 0 5px #1235f4,
    0 0 10px #1235f4;
    animation: animate linear forwards; /* 应用动画 */
}

/* 粒子动画:控制移动和消失 */
@keyframes animate{
    0%{
        opacity1/* 初始完全可见 */
        transformtranslate(0,0scale(1); /* 初始位置 */
    }
    100%{
        opacity0/* 最终完全透明 */
        /* 移动到目标位置(使用CSS变量) */
        transformtranslate(var(--move-x),var(--move-y)) scale(1);
    }
}

结语 & 行动建议

这个小效果其实还有很多可以发挥的空间。比如你可以试着改改粒子的颜色,换成粉色系可能会更柔和;或者调整moveX、moveY的数值范围,让粒子飞得更远或更近;甚至可以把鼠标移动触发改成点击触发,做成点击爆破的效果。 代码量很少,逻辑也不复杂,特别适合新手动手试试。复制源码到本地,然后一点点调整参数,看看每个数值变化会带来什么不同 —— 这种亲手调试的过程,比单纯看教程记得更牢。不妨现在就打开编辑器,自己改出一个独一无二的粒子效果吧~


优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询