仿js特效代码怎么写?网页动态效果实现教程

“仿 JS 特效”通常指的是在前端开发中,通过 JavaScript 配合 CSS 实现的视觉交互效果,由于特效种类繁多,我将为你提供 4 种最经典、实用且易于理解的 JavaScript 特效代码示例,涵盖:

  1. 鼠标跟随光晕效果(炫酷背景)
  2. 打字机效果(文字动画)
  3. 滚动视差/淡入效果(页面滚动交互)
  4. 点击涟漪效果(Material Design 风格)

鼠标跟随光晕效果(Mouse Follow Glow)

效果描述:鼠标移动时,背景出现一个跟随鼠标的柔和光晕。

CSS + JS 实现页面滚动效果(内附源代码参考)
加载中
CSS + JS 实现页面滚动效果(内附源代码参考)
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">鼠标跟随光晕</title>
    <style>
        body {
            margin: 0;
            height: 100vh;
            background: #111;
            overflow: hidden;
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
            font-family: Arial, sans-serif;
        }
        .glow {
            position: fixed;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(0, 255, 255, 0.3) 0%, rgba(0, 0, 0, 0) 70%);
            border-radius: 50%;
            pointer-events: none; / 让鼠标事件穿透 /
            transform: translate(-50%, -50%);
            z-index: -1;
            transition: transform 0.1s ease; / 轻微延迟让效果更平滑 /
        }
    </style>
</head>
<body>
    <h1>移动鼠标看看效果</h1>
    <div class="glow" id="glow"></div>
    <script>
        const glow = document.getElementById('glow');
        document.addEventListener('mousemove', (e) => {
            // 获取鼠标位置
            const x = e.clientX;
            const y = e.clientY;
            // 更新光晕位置
            glow.style.left = x + 'px';
            glow.style.top = y + 'px';
        });
    </script>
</body>
</html>

打字机效果(Typewriter Effect)

效果描述:文字逐个字符显示,类似打字机。

仿js特效代码怎么写?网页动态效果实现教程

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8">打字机效果</title> <style> body { background: #222; color: #0f0; font-family: 'Courier New', monospace; display: flex; justify-content: center; align-items: center; height: 100vh; font-size: 24px; } #typewriter { border-right: 2px solid #0f0; white-space: nowrap; overflow: hidden; animation: blink 0.7s step-end infinite; } @keyframes blink { 50% { border-color: transparent; } } </style> </head> <body> <span id="typewriter"></span> <script> const text = "你好,我是AI助手,我正在学习JavaScript特效!"; const element = document.getElementById('typewriter'); let index = 0; function typeWriter() { if (index < text.length) { element.innerHTML += text.charAt(index); index++; setTimeout(typeWriter, 100); // 每个字符间隔100ms } } // 页面加载后开始 window.onload = typeWriter; </script> </body> </html>

滚动淡入效果(Scroll Reveal)

效果描述:当元素进入视口时,逐渐显示(淡入+上移)。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">滚动淡入效果</title>
    <style>
        body {
            background: #f5f5f5;
            font-family: sans-serif;
            padding: 50px;
        }
        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s ease-out;
            padding: 20px;
            margin: 20px 0;
            background: white;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }
        .spacer {
            height: 300px;
            background: #e0e0e0;
            margin: 20px 0;
            display: flex;

仿js特效代码怎么写?网页动态效果实现教程

justify-content: center; align-items: center; color: #666; } </style> </head> <body> <h1>向下滚动查看效果</h1> <div class="reveal">内容块 1</div> <div class="spacer">滚动到这里...</div> <div class="reveal">内容块 2</div> <div class="spacer">继续滚动...</div> <div class="reveal">内容块 3</div> <script> // 使用 Intersection Observer API(现代浏览器推荐) const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('active'); } }); }, { threshold: 0.1 // 元素出现10%时触发 }); document.querySelectorAll('.reveal').forEach(el => { observer.observe(el); }); </script> </body> </html>

点击涟漪效果(Click Ripple)

效果描述:点击按钮或元素时,从点击位置扩散出圆形波纹。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">点击涟漪效果</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background: #333;
        }
        .ripple-btn {
            position: relative;
            padding: 15px 40px;
            background: #007bff;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            overflow: hidden; / 关键:隐藏溢出 /
            font-size: 18px;
        }
        .ripple {
            position: absolute;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.6);
            transform: scale(0);
            animation: ripple-animation 0.6s linear;
            pointer-events: none;
        }
        @keyframes ripple-animation {
            to {
                transform: scale(4);
                opacity: 0;
            }
        }
    </style>
<

仿js特效代码怎么写?网页动态效果实现教程

/head> <body> <button class="ripple-btn" id="btn">点击我</button> <script> const btn = document.getElementById('btn'); btn.addEventListener('click', function(e) { // 创建涟漪元素 const ripple = document.createElement('span'); ripple.classList.add('ripple'); // 获取按钮尺寸和点击位置 const rect = btn.getBoundingClientRect(); const size = Math.max(rect.width, rect.height); const x = e.clientX - rect.left - size / 2; const y = e.clientY - rect.top - size / 2; // 设置样式 ripple.style.width = ripple.style.height = `${size}px`; ripple.style.left = `${x}px`; ripple.style.top = `${y}px`; // 添加到按钮 btn.appendChild(ripple); // 动画结束后移除元素 ripple.addEventListener('animationend', () => { ripple.remove(); }); }); </script> </body> </html>

✅ 使用建议

特效类型 适用场景 性能提示
鼠标跟随 登录页、创意首页 避免频繁操作 DOM,使用 transform 和 opacity
打字机 个人简介、加载提示 使用 setTimeout 或 requestAnimationFrame
滚动淡入 长页面、产品展示 推荐使用 IntersectionObserver,性能优于 scroll 事件
点击涟漪 按钮、卡片交互 及时移除 DOM 元素,防止内存泄漏

🚀 进阶推荐库

如果你需要更复杂的特效,建议使用成熟库:

  • GSAP (GreenSock):最强大的动画库,适合复杂时间线动画。
  • Three.js:3D WebGL 特效。
  • Lottie:播放 After Effects 导出的 JSON 动画。
  • AOS (Animate On Scroll):轻量级滚动动画库。

需要我针对某个特效进行更深入的解释或定制吗?

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/483474.html

赞 (0)
linux备份指令怎么用?linux系统数据备份方法
上一篇 2026年7月11日 21:48
百度网盘cdn是什么,百度网盘cdn加速怎么设置
下一篇 2026年7月11日 21:50

相关推荐

  • 大模型的涌现能力到底是什么?大模型涌现能力有哪些具体表现

    大模型的涌现能力是指当模型参数量、训练数据量和计算资源突破特定临界点后,模型突然展现出训练数据中未显式包含的复杂推理、逻辑规划及创造性解决问题等全新高阶能力,这是一种从量变到质变的非线性飞跃,很多人误以为大模型只是更聪明的搜索引擎,或者是一个读得更多、背得更牢的超级图书馆管理员,这种理解过于线性,涌现能力(Em……

    2026年6月22日
    3110
  • IIS如何绑定多个域名并修改已绑定的网站域名,有哪些方法?

    在IIS中绑定多个域名或修改已绑定的网站域名,只需在站点绑定界面添加或编辑主机名,同一网站可绑定任意数量域名,修改后即时生效,无需重启服务器,IIS绑定多个域名的具体步骤通过IIS管理器添加绑定打开IIS管理器的方式有两种:在开始菜单搜索“Internet Information Services (IIS……

    2026年8月21日
    700
  • IIS提示网站建设中如何修改已绑定的网站域名,怎么解决?

    当IIS提示网站正在建设中,通常是因为默认文档配置错误或绑定的域名未指向有效的网站内容,修改IIS绑定的域名并正确设置默认文档即可快速解决,很多站长在配置IIS时都会遇到这个提示,其实问题出在IIS的默认行为上,当IIS找不到默认文档,或者绑定的域名没有对应到实际网站文件夹时,就会显示“网站建设中”这个默认页面……

    2026年8月1日
    700
  • 负载均衡不同账号怎么分配?负载均衡多账号配置教程

    负载均衡不同账号的核心在于通过权限隔离与资源配额管理,实现多租户环境下的安全隔离与成本精细化控制,避免单一账户资源耗尽导致的服务中断,在云原生架构日益普及的今天,单一账号管理所有基础设施的模式已显露出明显的瓶颈,随着业务规模的扩张,安全边界模糊、账单难以分摊以及权限管理混乱成为企业IT运维的痛点,将负载均衡实例……

    2026年7月9日
    15700
  • formatjson哪些功能最实用,怎么快速掌握

    对于任何需要处理JSON数据的开发者或运维人员,formatjson的核心价值就是快速将杂乱无章的JSON字符串转成结构清晰、可读性高的格式化文本,这是Debug和数据交换中最基础也最关键的技能,formatjson命令怎么用安装与配置要想在终端里直接调用formatjson,目前主流有两种方式,第一种是使用P……

    2026年7月15日
    1300
  • 大模型量化精度下降如何解决?量化模型精度恢复技巧

    大模型量化后精度下降并非不可逆,核心在于平衡压缩率与性能,通过混合精度量化、感知量化训练及后训练微调,可在保持推理速度提升的同时,将精度损失控制在可接受范围内,将大模型部署到边缘设备或降低算力成本时,量化是必经之路,但许多开发者发现,把FP16或FP32模型转为INT8甚至INT4后,模型回答变得胡言乱语,准确……

    2026年6月22日
    1700
  • 服务器租用一般多少钱一个月,哪里租最便宜?

    服务器租用价格根据配置、带宽、机房级别和服务商差异明显,从每月几百元起步,高端需求可达数万元,核心在于匹配自身业务场景,而非盲目追求低价或高配,服务器租多少钱一个月?影响因素与预算规划服务器租多少钱一个月这个问题的答案取决于多个变量,理解这些变量,才能精准控制预算,避免花冤枉钱,影响租用价格的核心因素计算资源……

    2026年7月15日
    1300
  • 如何在服务器上添加客户端公钥,SSH免密登录怎么配置?

    在服务器上添加客户端公钥的核心是通过将客户端生成的 .pub 公钥文件内容写入服务器目标用户家目录下的 .ssh/authorized_keys 文件中,从而利用非对称加密算法实现无需密码的身份验证,为什么行业共识倾向于使用公钥认证替代密码登录在运维实际场景中,依赖密码登录的服务器面临着极高的暴力破解风险,业内……

    2026年7月12日
    11700
  • ai金融大模型哪里下载?金融大模型下载免费

    2026年AI金融大模型下载需通过官方合规渠道获取私有化部署版本,严禁使用来源不明的开源代码,核心在于确保数据隐私安全与金融级合规性,随着生成式人工智能在金融领域的渗透率突破临界点,金融机构对本地化部署的大模型需求呈爆发式增长,过去那种直接下载通用开源模型的做法已无法满足当前严苛的风控要求,现在的核心痛点不再是……

    2026年6月13日
    3010
  • 如何正确安装IIS证书,详细安装步骤是什么?

    IIS证书安装本质上是将SSL证书文件导入IIS服务器并绑定到网站,核心步骤包括获取证书、导入证书、绑定站点和验证配置, 整个过程不复杂,但细节容易出错,尤其是私钥保护和中间证书链的配置,以下按实操流程拆解,帮你避开常见坑,iis证书安装前的准备工作确认服务器环境在动手之前,先确认你的IIS版本和Windows……

    2026年8月8日
    700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注