You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何用HTML/CSS/JS实现Windows报错图鼠标拖尾效果

实现Windows报错消息鼠标拖尾&页面布满特效

直接上完整可运行代码,注释已经写得很清楚,替换你自己的报错图片路径就能用:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Windows报错拖尾特效</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            height: 100vh;
            overflow: hidden;
            /* 自定义鼠标样式,替换成你的报错图片路径 */
            cursor: url('windows-error.png'), auto;
            background-color: #000; /* 深色背景更突出报错图 */
        }
        .trail-item {
            position: absolute;
            pointer-events: none; /* 拖尾元素不干扰鼠标事件 */
            /* 可选:添加随机缩放和旋转,让效果更杂乱 */
            transform: scale(calc(0.5 + Math.random() * 0.8)) rotate(calc(Math.random() * 360deg));
            opacity: 0.8;
            z-index: 9999;
        }
    </style>
</head>
<body>
    <script>
        // 限制每秒创建的元素数量,避免性能爆炸
        let lastCreateTime = 0;
        const CREATE_INTERVAL = 50; // 每50ms创建一个,可调整

        document.addEventListener('mousemove', (e) => {
            const now = Date.now();
            if (now - lastCreateTime < CREATE_INTERVAL) return;
            lastCreateTime = now;

            // 创建拖尾图片元素
            const trailImg = document.createElement('img');
            // 替换成你的报错图片路径
            trailImg.src = 'windows-error.png';
            trailImg.className = 'trail-item';
            
            // 设置图片位置为鼠标坐标(减去图片一半宽高,让中心对准鼠标)
            trailImg.style.left = `${e.clientX - 25}px`;
            trailImg.style.top = `${e.clientY - 25}px`;
            // 假设图片大小是50x50,根据实际尺寸调整这里的数值

            // 添加到页面
            document.body.appendChild(trailImg);

            // 可选:如果不需要保留元素布满页面,就打开这段让拖尾自动消失
            // setTimeout(() => {
            //     trailImg.style.opacity = '0';
            //     trailImg.style.transition = 'opacity 0.5s';
            //     setTimeout(() => trailImg.remove(), 500);
            // }, 1000);
        });
    </script>
</body>
</html>

关键部分解释

  • 自定义鼠标样式:通过CSS cursor 属性实现,第一个值是你的报错图片路径,auto 是降级方案,确保图片加载失败时鼠标样式正常。
  • 拖尾生成逻辑:监听鼠标移动事件,每隔固定时间创建一个图片元素并定位到鼠标位置。加时间间隔是为了防止鼠标移动过快时创建过多元素导致页面卡顿,你可以根据需求调整 CREATE_INTERVAL 的值(数值越小,拖尾越密集)。
  • 布满页面效果:代码里注释了自动删除元素的逻辑,只要不开启这段,所有创建的报错图片都会保留在页面上,随着鼠标移动不断添加,最终布满整个页面。
  • 视觉优化:给拖尾元素加了随机缩放和旋转,模拟Windows报错的混乱感,你也可以删掉这行样式,保持统一大小。

注意事项

  1. 确保报错图片路径正确,建议用相对路径把图片放在和HTML同目录下。
  2. 如果图片尺寸不是50x50,记得调整 style.left 和 style.top 里的偏移值,让图片中心对准鼠标位置。
  3. 如果页面卡顿,可以增大 CREATE_INTERVAL 的值,减少每秒创建的元素数量。

内容的提问来源于stack exchange,提问作者DOOP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:28