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

移动网站打不开鄂州市门户网站

移动网站打不开,鄂州市门户网站,来宾北京网站建设,免费的行情网站推荐大全这段代码实现了一个基于HTML5 Canvas的高级粒子效果#xff0c;用户可以通过鼠标与粒子进行交互。下面是对代码的详细解析#xff1a; HTML部分 使用!DOCTYPE html声明文档类型。html标签内包含了整个网页的内容。head部分定义了网页的标题#x… 这段代码实现了一个基于HTML5 Canvas的高级粒子效果用户可以通过鼠标与粒子进行交互。下面是对代码的详细解析 HTML部分 使用!DOCTYPE html声明文档类型。html标签内包含了整个网页的内容。head部分定义了网页的标题高级粒子效果和一些基本样式如设置页面无边距、隐藏滚动条以及黑色背景。body包含一个canvas元素用于绘图。 CSS部分 设置body的边距为0并隐藏溢出内容同时设置背景颜色为黑色。canvas块级显示确保其占据整个视窗。 JavaScript部分 初始化Canvas 获取canvas元素并获取2D绘图上下文。定义resize函数动态调整画布大小以适应窗口尺寸并在窗口大小改变时调用此函数。 创建粒子系统 定义了粒子数组particles和粒子数量particleCount。定义鼠标位置对象mouse用于存储鼠标坐标。Particle类负责创建单个粒子包括随机初始化位置、速度、大小等属性并提供重置、绘制及更新方法。 粒子逻辑 初始化粒子数组填充指定数量的粒子实例。监听鼠标移动事件实时更新鼠标位置。 动画循环 animate函数作为主循环每帧都会清除屏幕带透明度遍历所有粒子执行更新和绘制操作。在粒子间根据距离条件绘制连线增加视觉效果。 粒子特性 粒子具有引力跟随鼠标的功能。边界检测使粒子在到达画布边缘时反弹。动态调整粒子大小创造更生动的效果。 !DOCTYPE html html head     title高级粒子效果/title     style         body {             margin: 0;             overflow: hidden;             background: #000;         }         canvas {             display: block;         }     /style /head body     canvas idcanvas/canvas script         const canvas document.getElementById(canvas);         const ctx canvas.getContext(2d);                  // 设置画布尺寸         function resize() {             canvas.width window.innerWidth;             canvas.height window.innerHeight;         }         resize();         window.addEventListener(resize, resize); // 创建粒子数组         const particles [];         const particleCount 100;         const mouse { x: null, y: null }; // 粒子构造函数         class Particle {             constructor() {                 this.reset();                 this.baseSize 2;             } reset() {                 this.x Math.random() * canvas.width;                 this.y Math.random() * canvas.height;                 this.vx -1 Math.random() * 2;                 this.vy -1 Math.random() * 2;                 this.radius this.baseSize Math.random() * 2;             } draw() {                 ctx.beginPath();                 ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2);                 ctx.fillStyle hsl(${(this.x/canvas.width)*360}, 70%, 50%);                 ctx.fill();             } update() {                 // 鼠标引力                 const dx mouse.x - this.x;                 const dy mouse.y - this.y;                 const distance Math.sqrt(dx*dx dy*dy);                 const force (canvas.width/2 - distance) / canvas.width/2; if (distance canvas.width/2) {                     this.x dx * force * 0.1;                     this.y dy * force * 0.1;                 } this.x this.vx;                 this.y this.vy; // 边界反弹                 if (this.x 0 || this.x canvas.width) this.vx * -1;                 if (this.y 0 || this.y canvas.height) this.vy * -1; // 动态大小                 this.radius this.baseSize Math.abs(Math.sin(Date.now()*0.001 this.x)) * 2;             }         } // 初始化粒子         for (let i 0; i particleCount; i) {             particles.push(new Particle());         } // 鼠标移动监听         canvas.addEventListener(mousemove, (e) {             mouse.x e.clientX;             mouse.y e.clientY;         }); // 动画循环         function animate() {             ctx.fillStyle rgba(0, 0, 0, 0.1);             ctx.fillRect(0, 0, canvas.width, canvas.height); particles.forEach((p1, i) {                 p1.update();                 p1.draw(); // 绘制粒子间连线                 particles.slice(i).forEach(p2 {                     const dx p1.x - p2.x;                     const dy p1.y - p2.y;                     const distance Math.sqrt(dx*dx dy*dy); if (distance 100) {                         ctx.beginPath();                         ctx.strokeStyle hsl(${(i/particleCount)*360}, 70%, 50%);                         ctx.lineWidth 0.5;                         ctx.moveTo(p1.x, p1.y);                         ctx.lineTo(p2.x, p2.y);                         ctx.stroke();                     }                 });             }); requestAnimationFrame(animate);         } animate();     /script /body /html
http://www.w-s-a.com/news/650620/

相关文章:

  • 官方网站英语上海公司注册核名查询
  • 东莞网站建设推广云南昆明最新消息
  • 上网站乱码网页设计与网站建设案例教程
  • 宣讲网站建设wordpress多媒体主题
  • 如何成立网站互联网开发是做什么的
  • 网站首页的尺寸做多大网页图片排版
  • 龙岩天宫山索道多少钱河南网站排名优化哪家好
  • 北京做网站设计程序员和网站开发
  • 个人 做自媒体 建网站图片制作成视频的手机软件
  • h5 建站网站 移动端重庆潼南网站建设价格
  • 商企在线营销型网站怎么做时光网站
  • 网站建设方案论文1500竞价托管哪家便宜
  • 使用cdn的网站宣武网站建设
  • 营销型网站怎么建设企业网站Wap在线生成
  • 网站建设服务费应该做到什么科目广州网页制作服务商
  • 网站显示500错误怎么解决方法店面设计模板
  • 网站备案icp文化传媒有限公司
  • 北京企业建站模板微信公众号商城怎么制作
  • 制作网站 公司简介大型做网站的公司
  • 北京网站开发建设南昌网站小程序开发
  • 网站如何做ip签名图片宁波互联网
  • 中山小榄网站建设长沙网络营销品牌排名
  • 推广优化厂商联系方式网站推广教程优化整站
  • 为外国企业做中文网站建设网站建设单位哪家好
  • 生物制药公司网站模板有没有专业做steam创客的网站
  • 福田做棋牌网站建设找哪家效益快弄一个微信小程序多少钱
  • 成都哪家做网站建设比较好做推广赚钱的网站
  • 常州专门做网站的公司有哪些网页模板下载网站10
  • linx服务器怎么做网站做长页网站
  • 汕头网站建设sagevis服装设计公司有什么职位