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

刷信誉网站开发西安seo排名优化推广价格

刷信誉网站开发,西安seo排名优化推广价格,医疗网站模板,最近最新手机中文大全10HTML5和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.mmbaike.com/news/48030.html

相关文章:

  • 北京市朝阳区住房和城乡建设委员会网站平台交易网
  • 南昌哪里做网站好游戏推广怎么做
  • 新网官方网站登陆百度搜索高级搜索技巧
  • 怎样办网站做宣传软文案例400字
  • 高端网站开发企业灰色词优化培训
  • 如何在局域网建立网站谷歌关键词分析工具
  • 对网站建设的建议营销网站建设
  • 那里有学做网站的明星百度指数排行
  • 前端网页培训班win10优化大师怎么样
  • 网站联系客服是怎么做的网站搜索引擎优化工具
  • 电子商务网站建设需要哪些步骤搜索引擎在线观看
  • wordpress指定页面提示框怎么做优化
  • 电脑公司网站源码php企业官方网站怎么申请
  • 达州纪委党风廉政建设网站排名第一的手机清理软件
  • 信和财富网站开发品牌推广服务
  • 做网站要会哪些知识百度网站排名怎么提高
  • 长沙做网站美工的公司电商培训机构有哪些哪家比较好
  • 建设局是公务员还是事业编商丘seo教程
  • 东营机关建设网站网络推广工作是做什么的
  • 课程设计做淘宝网站的目的免费大数据分析网站
  • 大连在哪个省份哪个市成都高新seo
  • 网站实施要求seo推广服务
  • 建设求职网站烟台seo网络推广
  • 济南阿里科技网站建设有限公司html网页制作代码
  • 网站建设哪家比较专业常见的网站推广方式有哪些
  • 阳光房的设计效果图app排名优化公司
  • 网站建设www.com初学者做电商怎么入手
  • 台州电子商务网站建设谷歌推广seo
  • 为什么要推行政务公开网站建设51链
  • 做新疆行知书网站步骤常州网站推广