当前位置: 首页 > news >正文

刷信誉网站开发武汉网站seo推广

刷信誉网站开发,武汉网站seo推广,赌博网站做代理怎么发展下线,2023营业执照年检HTML5和JS实现新年礼花效果 2023兔年再见&#xff0c;2024龙年来临了&#xff01; 祝愿读者朋友们在2024年里&#xff0c;身体健康&#xff0c;心灵愉悦&#xff0c;梦想成真。 下面是用HTML5和JS实现新年礼花效果&#xff1a; 源码如下&#xff1a; <!DOCTYPE html>…

HTML5和JS实现新年礼花效果

2023兔年再见,2024龙年来临了!

祝愿读者朋友们在2024年里,身体健康,心灵愉悦,梦想成真。

下面是用HTML5和JS实现新年礼花效果:

源码如下:

<!DOCTYPE html>
<html>
<head><title>新年礼花</title><style>/* 设置画布占满整个窗口 */body {margin: 0;padding: 0;overflow: hidden;}canvas {display: block;}</style>
</head>
<body><!-- 创建一个画布 --><canvas id="fireworksCanvas"></canvas><script>// 获取canvas和contextconst canvas = document.getElementById('fireworksCanvas');const ctx = canvas.getContext('2d');// 设置canvas宽高为窗口的宽高canvas.width = window.innerWidth;canvas.height = window.innerHeight;// 初始化烟花数组let fireworks = [];// 定义产生min到max之间的随机数的函数function random(min, max) {return Math.random() * (max - min) + min;}// 定义烟花类class Firework {constructor(x, y, color) {this.x = x;this.y = y;this.particles = [];this.exploded = false;this.life = 0;this.color = color;this.explodeHeight = random(canvas.height * 0.3, canvas.height * 0.6);}// 更新烟花状态的方法update() {// 如果烟花还未爆炸,向上移动,并增加寿命if (!this.exploded) {this.y -= random(5, 10);this.life += 1;// 如果烟花达到或超过爆炸高度,爆炸if (this.y <= this.explodeHeight) {this.explode();}} else {// 如果烟花已经爆炸,更新和绘制粒子this.particles.forEach((particle, index) => {particle.update();if (particle.life < 0) {this.particles.splice(index, 1);}});}}// 绘制烟花的方法draw() {if (!this.exploded) {ctx.fillStyle = this.color;ctx.beginPath();ctx.arc(this.x, this.y, 2, 0, Math.PI * 2);ctx.fill();} else {this.particles.forEach((particle) => particle.draw());}}// 烟花爆炸的方法explode() {this.exploded = true;for (let i = 0; i < 100; i++) {const angle = random(0, Math.PI * 2);const speed = random(1, 4);this.particles.push(new Particle(this.x, this.y, angle, speed, this.color));}}}// 定义粒子类class Particle {constructor(x, y, angle, speed, color) {this.x = x;this.y = y;this.angle = angle;this.speed = speed;this.life = random(50, 100);this.color = color;}// 更新粒子状态的方法update() {this.x += Math.cos(this.angle) * this.speed;this.y += Math.sin(this.angle) * this.speed;this.speed *= 0.99;this.life -= 1;}// 绘制粒子的方法draw() {ctx.fillStyle = this.color + ', ' + (this.life / 100) + ')';ctx.beginPath();ctx.arc(this.x, this.y, 2, 0, Math.PI * 2);ctx.fill();}}// 动画函数function animate() {// 绘制背景ctx.fillStyle = 'rgba(0, 0, 0, 0.2)';ctx.fillRect(0, 0, canvas.width, canvas.height);// 以5%的概率添加新烟花if (Math.random() < 0.05) {const x = random(0, canvas.width);const y = canvas.height;const fireworkColor = 'hsla(' + random(0, 360) + ', 100%, 50%';fireworks.push(new Firework(x, y, fireworkColor));}// 更新和绘制烟花for (let i = fireworks.length - 1; i >= 0; i--) {fireworks[i].update();fireworks[i].draw();if (fireworks[i].exploded && fireworks[i].particles.length === 0) {fireworks.splice(i, 1);}}// 显示文字ctx.font = "50px Arial";ctx.fillStyle = "pink";ctx.textAlign = "center";ctx.fillText("2024年龙年快乐", canvas.width / 2, canvas.height / 2);// 继续下一帧动画requestAnimationFrame(animate);}// 启动动画animate();// 监听窗口大小变化,重新设置画布大小window.addEventListener('resize', function() {canvas.width = window.innerWidth;canvas.height = window.innerHeight;});</script>
</body>
</html>

OK!

http://www.shuangfujiaoyu.com/news/28732.html

相关文章:

  • 如何建设动漫网站搜索引擎关键词竞价排名
  • WordPress主题加验证码整站seo排名要多少钱
  • 做任务的网站网站排名靠前方法
  • 怎么做批量的网站检查网络平台建设及运营方案
  • 深圳网站建设 siteseo网站优化技术
  • 河北廊坊seo网站建设网站优化站长素材官网免费
  • 做的好的地方网站百度快照推广效果怎样
  • 淘宝网站开发系统哈尔滨百度搜索排名优化
  • 网站建设流程 知乎友情链接免费发布平台
  • 做网站推广邢台广东广州疫情最新情况
  • 郑州网站建设规划厦门百度快速优化排名
  • 做购物网站多少钱 知乎最近三天的新闻大事摘抄
  • 外贸企业网站推广方案网站关键词排名seo
  • 做注册任务的网站有哪些百度网盘客服人工电话95188
  • 做建设网站的活的兼职各大网站排名
  • 顺义区城乡建设委员会网站百度问答兼职怎么做
  • 厦门网站建设合肥网站制作
  • 宝丰网站制作效果好app推广接单网
  • 如何用phpstudy做网站百度百科创建
  • 做网站商标分类网站排名怎么做上去
  • 傻瓜式php网站开发工具网络营销策划公司
  • 网站设计怎么自学百度快照怎么做
  • ppt做长图网站友情链接检索数据分析
  • 网站推广赚钱可靠吗seo是什么职位
  • 企业网页建设公司运营团队青岛百度推广seo价格
  • 工信部网站备案文件谷歌seo招聘
  • 网站竞价推广怎么做杭州seo推广公司
  • 专门做推广的网站推广软件的app
  • 深圳证券网站开发百度一下你就知道官网网页版
  • 大淘客网站开发开发制作app软件