我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HTML5怎么实现有趣的海浪效果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HTML5怎么实现有趣的海浪效果

今天小编给大家分享一下HTML5怎么实现有趣的海浪效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

  1、创建触发条件(按钮)

  ="Beisizer()"//点击时触发JS事件

  οnmοuseοver="bcd()"//鼠标经过时JS事件

  οnmοuseleave="out()"//鼠标离开时JS事件

  id="Anniu">确&nbsp?&nbsp&nbsp&nbsp&nbsp&nbsp?&nbsp&nbsp&nbsp&nbsp定

  2、创建画布Canvas

  3、创建JS事件(属性设置)//获取画布

  var?beisizer?=?document.getElementById("Theback");?var?ContenofBeisizer?=?beisizer.getContext("2d");?//设置波浪海域(海浪宽度,高度)

  var?beisizerwidth?=?beisizer.width;?var?beisizerheight?=?beisizer.height;?var?beisizerlinewidth?=?2;//曲线

  var?sinX?=?0;?var?sinY?=?beisizerheight/2.0;//轴长

  var?axisLenght?=?beisizerwidth;//弧度宽度

  var?waveWidth?=?0.014;//海浪高度

  var?waveHeight?=?beisizerheight?/?15.0;

  ContenofBeisizer.lineWidth?=?beisizerlinewidth;

  4、画贝塞尔曲线var?drawSin?=?function?(xofspeed)?{

  ContenofBeisizer.save();//存放贝塞尔曲线的各个点

  var?points?=?[];

  ContenofBeisizer.beginPath();//创建贝塞尔点

  for?(var?x?=?sinX;x?

  var?y?=?-Math.sin((sinX+x)*waveWidth+xofspeed);//?points.push([x,sinY?+?y?*?waveHeight]);?测试请解开注释,注释下一行

  points.push([x,rand+y*waveHeight]);

  //ContenofBeisizer.lineTo(x,sinY?+?y?*?waveHeight);测试请解开注释,注释下一行

  ContenofBeisizer.lineTo(x,rand?+?y?*?waveHeight);

  }

  ContenofBeisizer.lineTo(axisLenght,beisizerheight);

  ContenofBeisizer.lineTo(sinX,beisizerheight);

  ContenofBeisizer.lineTo(points[0][0],points[0][1]);

  ContenofBeisizer.stroke();

  ContenofBeisizer.restore();?//贝塞尔曲线样式设置

  ContenofBeisizer.strokeStyle?=?"#3bc777";

  ContenofBeisizer.fillStyle?=?"#3bc777";

  ContenofBeisizer.fill();

  };这一段代码已经完成静态贝赛尔曲线的绘制了,可以通过解开以下语句尝试运行看下效果。

  var y = -Math.sin((sinX+x)*waveWidth);

  points.push([x,rand+y*waveHeight]);

  var y = -Math.sin((sinX+x)*waveWidth+xofspeed);

  运行方法执行 drawSin()

  静态贝塞尔曲线。png

  5、海浪效果的实现

  需要在属性中加入一下代码进行速率的设置

  var speed = 0.1; 数值越大速率越快

  var xofspeed = 0; ?波浪横向的偏移量

  var rand = beisizerheight;波浪高度var?rendY?=?function?()?{

  ContenofBeisizer.clearRect(0,0,beisizerwidth,beisizerheight);//控制海浪高度

  var?tmp?=?0.1;

  rand-=tmp;var?b?=?beisizerheight?-?rand;

  //控制循环涨潮

  if?(parseInt(b)==beisizerheight){

  rand?=?beisizerheight;

  }

  drawSin(xofspeed);

  drawSinl(xofspeed);

  xofspeed?+=?speed;

  requestAnimationFrame(rendY);

  };通过调用自身产生不同的高度,来产生海浪效果。这里设置的属性值配合第四步画贝塞尔曲线一起进行理解。

  运行方式 rendY();

以上就是“HTML5怎么实现有趣的海浪效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HTML5怎么实现有趣的海浪效果

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

纯CSS怎么实现波浪移动效果

这篇文章给大家分享的是有关纯CSS怎么实现波浪移动效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。分析波浪效果上面是作者完成的波浪效果的其中一种(不会做 gif,就用多张图片拼贴在一起代替吧),它有两个波峰,这
2023-06-08

使用CSS怎么实现一个波浪效果

本篇文章为大家展示了使用CSS怎么实现一个波浪效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,
2023-06-08

Android Flutter如何实现有趣的页面滚动效果

本文小编为大家详细介绍“Android Flutter如何实现有趣的页面滚动效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android Flutter如何实现有趣的页面滚动效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-07-02

HTML5和CSS3怎么实现钟摆效果

这篇文章主要讲解了“HTML5和CSS3怎么实现钟摆效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5和CSS3怎么实现钟摆效果”吧!知识点:1) 利用position/left/
2023-07-04

使用css3怎么实现一个动感波浪效果

使用css3怎么实现一个动感波浪效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一根矢量的波浪2023-06-08

编程热搜

目录