❤️创意网页:绚丽粒子雨动画

2024-02-07 06:59

本文主要是介绍❤️创意网页:绚丽粒子雨动画,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

博主:命运之光 

🌸专栏:Python星辰秘典

🐳专栏:web开发(简单好用又好看)

❤️专栏:Java经典程序设计

☀️博主的其他文章:点击进入博主的主页

前言:欢迎踏入我的Web项目专栏,一段神奇而令人陶醉的数字世界!

🌌在这里,我将带您穿越时空,揭开属于Web的奥秘。通过HTML、CSS和JavaScript的魔力,我创造了一系列令人惊叹的Web项目,它们仿佛是从梦境中涌现而出。

🌌在这个专栏中,您将遇到华丽的界面,如流星划过夜空般迷人;您将感受到动态的交互,如魔法般让您沉浸其中;您将探索响应式设计的玄妙,让您的屏幕变幻出不同的绚丽景象。

🌌无论您是一个探险家还是一位嗜血的代码巫师,这个专栏将成为您的魔法书。我将分享每个项目的秘密,解开编码的谜题,让您也能够拥有制作奇迹的力量。

🌌准备好了吗?拿起您的键盘,跟随我的指引,一起进入这个神秘而充满惊喜的数字王国。在这里,您将找到灵感的源泉,为自己创造出一段奇幻的Web之旅!

目录

简介

动态图展示

静态图展示

 HTML 结构

CSS 样式

JavaScript 代码

JavaScript 逻辑解释

运行效果

完整代码

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

🍓1.打开记事本 

🍓2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可

🍓3.打开html文件(大功告成(●'◡'●))

总结


简介

欢迎来到本篇技术博客!今天,我们将一起学习如何使用 HTML、CSS 和 JavaScript 来创造一个更炫酷的动态网页示例。我们将在网页中添加许多随机颜色的粒子,让它们以不同的速度在画布上飘动,形成一个美妙的粒子效果。让我们开始吧!


动态图展示


静态图展示


 HTML 结构

我们的网页将由一个 canvas 元素组成,用于绘制粒子。我们需要在 <head> 标签中添加标题和 CSS 样式,然后在 <body> 标签中添加 canvas 元素和 JavaScript 代码。

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>更炫酷的动态网页示例</title><!-- CSS 样式在这里添加 -->
</head>
<body><!-- 绘制粒子的 Canvas 元素 --><canvas id="myCanvas"></canvas><!-- JavaScript 代码在这里添加 -->
</body>
</html>

CSS 样式

为了实现更好的视觉效果,我们将设置网页背景色为黑色,去掉默认的页面边距和滚动条,然后将 canvas 元素设置为全屏显示。

/* 网页样式 */
body {margin: 0;overflow: hidden;background-color: #000;
}/* Canvas 元素样式 */
canvas {display: block;
}

JavaScript 代码

现在,我们将使用 JavaScript 创建一个 Particle 类,用于表示粒子对象。每个粒子都有随机的位置、大小、颜色和竖直速度。我们还将创建一个粒子数组,并在画布上动态绘制这些粒子,形成粒子效果。

// 获取canvas元素和绘图上下文
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');// 设置canvas的宽度和高度
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;// 粒子对象
class Particle {constructor(x, y) {this.x = x;this.y = y;this.size = Math.random() * 3 + 1; // 随机大小this.color = `hsl(${Math.random() * 360}, 100%, 50%)`; // 随机颜色this.velocityY = Math.random() * 3 + 1; // 随机竖直速度}// 更新粒子的位置update() {this.y += this.velocityY;// 当粒子到达画布底部时,重新放置到画布顶部if (this.y > canvas.height) {this.y = 0;}}// 绘制粒子draw() {ctx.beginPath();ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);ctx.fillStyle = this.color;ctx.fill();}
}// 创建粒子数组
const particles = [];
const numParticles = 100;// 初始化粒子
for (let i = 0; i < numParticles; i++) {const x = Math.random() * canvas.width;const y = Math.random() * canvas.height;particles.push(new Particle(x, y));
}// 动画循环函数
function animate() {ctx.clearRect(0, 0, canvas.width, canvas.height);for (let i = 0; i < particles.length; i++) {particles[i].update();particles[i].draw();}requestAnimationFrame(animate);
}// 启动动画
animate();

JavaScript 逻辑解释

  1. 我们通过 document.getElementById 方法获取 canvas 元素,并创建一个绘图上下文 ctx,用于在画布上绘制粒子。

  2. Particle 类表示每个粒子对象。在构造函数中,我们为每个粒子设置随机的位置、大小、颜色和竖直速度。

  3. update 方法用于更新粒子的位置。我们让每个粒子沿竖直方向运动,并在到达画布底部时将其重新放置到画布顶部,实现循环运动。

  4. draw 方法用于绘制粒子,我们使用 ctx.arc 方法绘制圆形粒子,并设置颜色为随机的彩虹色。

  5. 我们创建了一个粒子数组 particles,并在初始化时生成了多个随机位置的粒子对象。

  6. animate 函数用于实现动画循环。在每一帧中,我们清空画布、更新每个粒子的位置,并绘制粒子,然后使用 requestAnimationFrame 方法递归调用 animate 函数,实现连续的动画效果。


运行效果

将上述代码保存为一个 HTML 文件,并在浏览器中打开它。您将会看到一个更炫酷的动态网页示例,画布上漂浮着许多彩色的粒子,形成一个华丽的粒子效果。在不同的屏幕大小下,粒子会随机分布,使效果更加丰富多彩。


完整代码

<!DOCTYPE html>
<html>
<head><title>好看的粒子雨动画</title><style>body {margin: 0;overflow: hidden;background-color: #000;}canvas {display: block;}</style>
</head>
<body><canvas id="myCanvas"></canvas><script>// 获取canvas元素和绘图上下文const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');// 设置canvas的宽度和高度canvas.width = window.innerWidth;canvas.height = window.innerHeight;// 粒子对象class Particle {constructor(x, y) {this.x = x;this.y = y;this.size = Math.random() * 3 + 1; // 随机大小this.color = `hsl(${Math.random() * 360}, 100%, 50%)`; // 随机颜色this.velocityY = Math.random() * 3 + 1; // 随机竖直速度}// 更新粒子的位置update() {this.y += this.velocityY;// 当粒子到达画布底部时,重新放置到画布顶部if (this.y > canvas.height) {this.y = 0;}}// 绘制粒子draw() {ctx.beginPath();ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);ctx.fillStyle = this.color;ctx.fill();}}// 创建粒子数组const particles = [];const numParticles = 100;// 初始化粒子for (let i = 0; i < numParticles; i++) {const x = Math.random() * canvas.width;const y = Math.random() * canvas.height;particles.push(new Particle(x, y));}// 动画循环函数function animate() {ctx.clearRect(0, 0, canvas.width, canvas.height);for (let i = 0; i < particles.length; i++) {particles[i].update();particles[i].draw();}requestAnimationFrame(animate);}// 启动动画animate();</script>
</body>
</html>

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

🍓1.打开记事本 

🍓2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可

🍓3.打开html文件(大功告成(●'◡'●))


总结

通过本篇技术博客,我们学习了如何使用 HTML、CSS 和 JavaScript 创造一个更炫酷的动态网页示例。我们实现了彩色粒子效果,并让粒子在画布上飘动,形成一个绚丽多彩的效果。希望您享受了本次创作过程,祝您编程愉快!


本章的内容就到这里了,觉得对你有帮助的话就支持一下博主把~

🌌点击下方个人名片,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

这篇关于❤️创意网页:绚丽粒子雨动画的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686895

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Kotlin Compose Button 实现长按监听并实现动画效果(完整代码)

《KotlinComposeButton实现长按监听并实现动画效果(完整代码)》想要实现长按按钮开始录音,松开发送的功能,因此为了实现这些功能就需要自己写一个Button来解决问题,下面小编给大... 目录Button 实现原理1. Surface 的作用(关键)2. InteractionSource3.

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要