Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >❤️创意网页:创意视觉效果粒子循环的网页动画

❤️创意网页:创意视觉效果粒子循环的网页动画

作者头像
命运之光
发布于 2024-03-20 04:43:42
发布于 2024-03-20 04:43:42
24200
代码可运行
举报
运行总次数:0
代码可运行

介绍

在这篇技术博客中,我们将学习如何使用HTML5 Canvas和JavaScript创建一个视觉效果震撼的网页动画。我们将绘制一组随机颜色和运动的粒子,通过鼠标的移动产生交互效果,营造出一个令人惊叹的视觉效果。本项目将为您展示如何利用Canvas绘制动态粒子效果,并实现鼠标交互效果的加持。

动态图展示

准备工作

在开始之前,请确保您已经具备以下条件:

  • 基本的HTML、CSS和JavaScript知识。
  • 一个支持HTML5的现代web浏览器(推荐使用最新版本的Chrome、Firefox、Safari等)。

HTML 结构

首先,让我们创建一个HTML文件,并添加必要的结构。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <title>视觉效果震撼的网页</title>
    <style>
        body {
            margin: 0;
            overflow: hidden;
        }
        canvas {
            display: block;
        }
    </style>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script>
        // JavaScript代码将在下面添加
    </script>
</body>
</html>

在这个HTML结构中,我们定义了一个Canvas元素,用于绘制我们的视觉效果震撼的网页动画。


JavaScript 代码

现在,让我们添加JavaScript代码来实现这个视觉效果震撼的网页动画。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- ... 上面的HTML代码 ... -->

<script>
    const canvas = document.getElementById("canvas");
    const ctx = canvas.getContext("2d");
    let mouseX = 0;
    let mouseY = 0;

    // 设置画布大小
    canvas.width = window.innerWidth;
    canvas.height = window.innerHeight;

    window.addEventListener("mousemove", (e) => {
        mouseX = e.clientX;
        mouseY = e.clientY;
    });

    class Particle {
        constructor(x, y, color) {
            this.x = x;
            this.y = y;
            this.color = color;
            this.radius = Math.random() * 2 + 1;
            this.angleX = Math.random() * 6;
            this.angleY = Math.random() * 6;
        }

        update() {
            this.x += Math.sin(this.angleX) * 2;
            this.y += Math.sin(this.angleY) * 2;
            this.angleX += 0.01;
            this.angleY += 0.01;
        }

        draw() {
            ctx.fillStyle = this.color;
            ctx.beginPath();
            ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2);
            ctx.fill();
        }
    }

    const particles = [];

    function createParticles() {
        for (let i = 0; i < 100; i++) {
            const color = `hsl(${Math.random() * 360}, 100%, 50%)`;
            const particle = new Particle(canvas.width / 2, canvas.height / 2, color);
            particles.push(particle);
        }
    }

    function animate() {
        requestAnimationFrame(animate);
        ctx.fillStyle = "rgba(0, 0, 0, 0.1)";
        ctx.fillRect(0, 0, canvas.width, canvas.height);

        for (let i = 0; i < particles.length; i++) {
            particles[i].update();
            particles[i].draw();
        }
    }

    createParticles();
    animate();
</script>
</body>
</html>

以上代码中,我们创建了一个Particle类来表示每个粒子。每个粒子都有其位置、颜色、大小和运动角度。我们监听鼠标移动事件,获取鼠标的坐标,然后通过粒子的位置和角度更新实现交互效果。最后,我们使用Canvas绘制了动态的粒子效果。


运行效果

将上述HTML代码保存为一个HTML文件,并在支持HTML5的现代web浏览器中打开它。您将会看到一个视觉效果震撼的网页动画,许多随机颜色和运动的粒子在画布上自由运动,并随着鼠标的移动而产生交互效果。


完整代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <title>❤️创意网页:创意视觉效果粒子循环的网页动画</title>
    <style>
        body {
            margin: 0;
            overflow: hidden;
        }
        canvas {
            display: block;
        }
    </style>
</head>
<body>
    <canvas id="canvas"></canvas>

    <script>
        const canvas = document.getElementById("canvas");
        const ctx = canvas.getContext("2d");
        let mouseX = 0;
        let mouseY = 0;

        // 设置画布大小
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;

        window.addEventListener("mousemove", (e) => {
            mouseX = e.clientX;
            mouseY = e.clientY;
        });

        class Particle {
            constructor(x, y, color) {
                this.x = x;
                this.y = y;
                this.color = color;
                this.radius = Math.random() * 2 + 1;
                this.angleX = Math.random() * 6;
                this.angleY = Math.random() * 6;
            }

            update() {
                this.x += Math.sin(this.angleX) * 2;
                this.y += Math.sin(this.angleY) * 2;
                this.angleX += 0.01;
                this.angleY += 0.01;
            }

            draw() {
                ctx.fillStyle = this.color;
                ctx.beginPath();
                ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2);
                ctx.fill();
            }
        }

        const particles = [];

        function createParticles() {
            for (let i = 0; i < 100; i++) {
                const color = `hsl(${Math.random() * 360}, 100%, 50%)`;
                const particle = new Particle(canvas.width / 2, canvas.height / 2, color);
                particles.push(particle);
            }
        }

        function animate() {
            requestAnimationFrame(animate);
            ctx.fillStyle = "rgba(0, 0, 0, 0.1)";
            ctx.fillRect(0, 0, canvas.width, canvas.height);

            for (let i = 0; i < particles.length; i++) {
                particles[i].update();
                particles[i].draw();
            }
        }

        createParticles();
        animate();
    </script>
</body>
</html>

代码的使用方法(超简单什么都不用下载)

🍓1.打开记事本
🍓2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可
🍓3.打开html文件(大功告成(●'◡'●))

总结

在本篇博客中,我们学习了如何使用HTML5 Canvas和JavaScript创建一个视觉效果震撼的网页动画。通过绘制动态粒子效果,并添加鼠标交互效果,我们成功地打造了一个令人惊叹的视觉效果。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CodeBuddy 制作粒子背景,为首页增添动感与趣味
🌟 在当今的网页设计中,视觉效果已经成为提升用户体验的核心要素之一。动感十足的粒子背景,能够让网页瞬间焕发活力,不仅能吸引用户的目光,还能有效提升网站的现代感和互动感。尤其是在首页背景中,粒子效果往往成为网站吸引用户注意力的重要元素,给人留下深刻的印象。
不惑
2025/07/03
660
CodeBuddy 制作粒子背景,为首页增添动感与趣味
❤️创意网页:震撼视觉效果2(真的十分好看) - 创造炫酷的粒子动画
欢迎来到本篇技术博客!今天,我们将一起学习如何使用HTML5 Canvas和JavaScript创造震撼的视觉效果。我们将绘制彩色粒子,使其在鼠标移动的轨迹上生成,形成炫酷的粒子动画。让我们开始吧!
命运之光
2024/03/20
2480
❤️创意网页:震撼视觉效果2(真的十分好看) - 创造炫酷的粒子动画
❤️创意网页:绚丽粒子炸裂特效①(真的超好看)超好看的粒子交互跟随效果~彩色随机粒子爆裂
在现代互联网时代,用户对于网页的要求越来越高,除了内容的丰富和易读性外,视觉效果也成为吸引用户的重要因素之一。本文将向您展示如何利用HTML5和JavaScript创建一个视觉效果震撼的交互式网页,让您的网站在视觉上脱颖而出,吸引更多访问者。
命运之光
2024/03/20
4010
❤️创意网页:绚丽粒子炸裂特效①(真的超好看)超好看的粒子交互跟随效果~彩色随机粒子爆裂
❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)
首先,我们来看一下HTML结构。代码中只有一个<canvas>元素,这是我们用来绘制粒子特效的画布。我们也可以通过给<canvas>元素设置背景图片来增加更多的效果。
命运之光
2024/03/20
2.5K0
❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)
❤️创意网页:炫酷的网页 - 创造华丽粒子动画
欢迎来到本篇技术博客!今天,我们将一起学习如何使用HTML5 Canvas和JavaScript创造一个炫酷的网页效果。我们将绘制彩色粒子并让它们在画布上随机运动,形成华丽的粒子动画。让我们开始吧!
命运之光
2024/03/20
4020
❤️创意网页:炫酷的网页 - 创造华丽粒子动画
❤️创意网页:绚丽粒子雨动画
欢迎来到本篇技术博客!今天,我们将一起学习如何使用 HTML、CSS 和 JavaScript 来创造一个更炫酷的动态网页示例。我们将在网页中添加许多随机颜色的粒子,让它们以不同的速度在画布上飘动,形成一个美妙的粒子效果。让我们开始吧!
命运之光
2024/03/20
2820
❤️创意网页:绚丽粒子雨动画
❤️创意网页:创建更炫酷的动态网页——彩色数字(1到9)粒子动画
在这篇技术博客中,我们将学习如何创建一个令人惊叹的动态网页效果。我们将使用HTML5的Canvas元素和JavaScript来实现一个彩色数字粒子动画。这个动画将在浏览器中展示一组随机位置和颜色的彩色数字粒子,它们将以不同的速度从画布顶部飘落至底部,并循环重新开始,形成一个华丽的视觉效果。
命运之光
2024/03/20
4610
❤️创意网页:创建更炫酷的动态网页——彩色数字(1到9)粒子动画
❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)
首先,我们需要在HTML文件中创建一个Canvas元素,用于绘制烟花的效果。我们将为这个Canvas元素添加一个唯一的ID,方便在JavaScript中引用。
命运之光
2024/03/20
1.7K0
❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)
❤️创意网页:HTML5 Canvas技术实现绚丽多彩的烟花特效
烟花特效一直以来都是网页设计中的热门元素之一,它能够为用户带来视觉上的愉悦和惊喜。在这篇技术博客中,我们将使用HTML5 Canvas和JavaScript来实现一个绚丽多彩的烟花特效。我们将逐步解释代码的不同部分,介绍如何利用Canvas API和动画效果来创造这个引人注目的效果。
命运之光
2024/03/20
8090
❤️创意网页:HTML5 Canvas技术实现绚丽多彩的烟花特效
绚丽烟花:HTML5 Canvas 烟花效果实现(文末附完整代码)
在节日或特殊场合,绚丽的烟花总能带来无尽的欢乐和惊喜。今天,我们将通过 HTML5 Canvas 实现一个绚丽的烟花效果,让你的网页也能绽放出美丽的烟花。
码事漫谈
2025/01/27
1.1K1
绚丽烟花:HTML5 Canvas 烟花效果实现(文末附完整代码)
❤️创意网页:文字和祝福语:创意的粒子效果网页(❤️好看好用❤️)HTML+CSS+JS
文字和祝福语是我们日常生活中表达情感和传递祝福的重要方式。为了让这些文字和祝福语更加生动和有趣,我设计了一个创意的网页,通过动态效果和互动性,为用户带来与众不同的体验。
命运之光
2024/03/20
4500
❤️创意网页:文字和祝福语:创意的粒子效果网页(❤️好看好用❤️)HTML+CSS+JS
❤️创意网页:萌翻少女心的果冻泡泡 - 创造生动有趣的视觉效果
大家好!欢迎来到本篇技术博客。今天我们将一起学习如何使用HTML5 Canvas和JavaScript创建一个可爱又有趣的果冻泡泡效果。我们将绘制一组彩色泡泡,并通过动画让它们像果冻一样晃动,给人一种充满活力的感觉。让我们开始吧!
命运之光
2024/03/20
2610
❤️创意网页:萌翻少女心的果冻泡泡 - 创造生动有趣的视觉效果
❤️创意网页:萌翻少女心的发光果冻泡泡 - 使用Canvas绘制可爱动态泡泡效果
在这篇技术博客中,我们将学习如何使用HTML5 Canvas和JavaScript创建一个令人陶醉的发光果冻泡泡动画效果。我们将绘制一系列可爱的、多彩的果冻泡泡,并使它们在画布上随机运动,形成一个令人心动的动态效果。本项目将让你的少女心萌翻!
命运之光
2024/03/20
2190
❤️创意网页:萌翻少女心的发光果冻泡泡 - 使用Canvas绘制可爱动态泡泡效果
新春烟花特效 HTML:打造你的节日专属网页
摘要 每逢新春佳节,烟花总能为节日增添一份热闹和喜庆。如何用HTML和JavaScript在网页上实现炫丽的烟花特效呢?本文将从零开始,带领小白用户创建一个简单却生动的烟花效果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供详细的实现步骤与代码示例。
默 语
2025/01/20
4320
新春烟花特效 HTML:打造你的节日专属网页
快过年了,用五种不同的JS特效带你看烟花(包邮送元宇宙图书)
雪花 、 樱花 、 浪漫贺卡 以及 圣诞树 我前段时间刚做过,感兴趣的也可以看看我前几期的博客:
海拥
2022/04/13
1.9K0
快过年了,用五种不同的JS特效带你看烟花(包邮送元宇宙图书)
当我用AI“聊”出一个粒子动画
最近遇到了一个需求:在一个创意网站上实现一个粒子动画系统,要求用户点击时产生爆炸效果,鼠标移动时拖尾发光,并且要适配不同设备。以往这类项目我可能需要花费一整天时间查阅文档、调试参数,但这次我决定尝试全程与AI结对编程。
Jimaks
2025/05/27
960
当我用AI“聊”出一个粒子动画
Canvas系列(18):实战-烟花效果
今天我们来学习 Canvas 的一个经典案例 —— 烟花效果,具体效果可以看下图。本章的内容会涉及之前的加速度和速度相关的知识,如果对这部分不太了解的建议先看其他章节。
kai666666
2024/11/26
2160
Canvas系列(18):实战-烟花效果
生日主题的烟花特效HTML,CSS,JS
命运之光
2024/11/20
5860
生日主题的烟花特效HTML,CSS,JS
html制作一个放烟花动画的网页代码
const canvas = document.getElementById('fireworks');
用户10682816
2025/04/23
870
【CodeBuddy】三分钟开发一个实用小功能之:弹跳球物理实验
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接: 腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
Jimaks
2025/05/21
840
【CodeBuddy】三分钟开发一个实用小功能之:弹跳球物理实验
推荐阅读
CodeBuddy 制作粒子背景,为首页增添动感与趣味
660
❤️创意网页:震撼视觉效果2(真的十分好看) - 创造炫酷的粒子动画
2480
❤️创意网页:绚丽粒子炸裂特效①(真的超好看)超好看的粒子交互跟随效果~彩色随机粒子爆裂
4010
❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)
2.5K0
❤️创意网页:炫酷的网页 - 创造华丽粒子动画
4020
❤️创意网页:绚丽粒子雨动画
2820
❤️创意网页:创建更炫酷的动态网页——彩色数字(1到9)粒子动画
4610
❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)
1.7K0
❤️创意网页:HTML5 Canvas技术实现绚丽多彩的烟花特效
8090
绚丽烟花:HTML5 Canvas 烟花效果实现(文末附完整代码)
1.1K1
❤️创意网页:文字和祝福语:创意的粒子效果网页(❤️好看好用❤️)HTML+CSS+JS
4500
❤️创意网页:萌翻少女心的果冻泡泡 - 创造生动有趣的视觉效果
2610
❤️创意网页:萌翻少女心的发光果冻泡泡 - 使用Canvas绘制可爱动态泡泡效果
2190
新春烟花特效 HTML:打造你的节日专属网页
4320
快过年了,用五种不同的JS特效带你看烟花(包邮送元宇宙图书)
1.9K0
当我用AI“聊”出一个粒子动画
960
Canvas系列(18):实战-烟花效果
2160
生日主题的烟花特效HTML,CSS,JS
5860
html制作一个放烟花动画的网页代码
870
【CodeBuddy】三分钟开发一个实用小功能之:弹跳球物理实验
840
相关推荐
CodeBuddy 制作粒子背景,为首页增添动感与趣味
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档