js实现可爱的气泡特效


Posted in Javascript onSeptember 05, 2020

本文实例为大家分享了js实现可爱的气泡特效的具体代码,供大家参考,具体内容如下

js实现可爱的气泡特效

代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <canvas id="myCanvas"></canvas>
  <script>
    var c = document.getElementById("myCanvas");
    c.width = 300;
    c.height = 500;
    var ctx = c.getContext('2d');

    var arr = []

    function sui() {
      var r = Math.floor(Math.random() * 6 + 5);
      var x = Math.floor(Math.random() * (c.width - 2 * r)) + r;
      var y = c.height - r;
      var opacity = Math.random();
      var red = Math.floor(Math.random() * 256);
      var green = Math.floor(Math.random() * 256);
      var blue = Math.floor(Math.random() * 256);
      var deg = 0;
      var scale = Math.floor(Math.random() * 6 + 10);
      arr.push({
        x,
        y,
        r,
        red,
        green,
        blue,
        opacity,
        deg,
        scale
      })
    }
    setInterval(sui, 40);
    // 再实现变大和绘制
    function dan() {
      ctx.clearRect(0, 0, c.width, c.height);
      arr.forEach((item, i) => {
        item.deg += 0.5;
        item.y -= item.deg;
        item.x += Math.sin(item.deg) * item.scale;
        if (item.y <= item.r) {
          arr.splice(i, 1);
        } else {
          ctx.beginPath();
          ctx.arc(item.x, item.y, item.r, 0, Math.PI * 2);
          ctx.fillStyle = `rgba(${item.red},${item.green},${item.blue},${item.opacity})`;
          ctx.fill();
        }
      })
    }
    setInterval(dan, 100);
  </script>
</body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一些技巧性实用js代码小结
Oct 14 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
js校验表单后提交表单的三种方法总结
Feb 28 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
很不错的两款Bootstrap Icon图标选择组件
Jan 28 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
Mar 30 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
Angular父组件调用子组件的方法
Apr 02 Javascript
JS实现密码框效果
Sep 10 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 Javascript
js实现点击按钮随机生成背景颜色
Sep 05 #Javascript
javascript实现一款好看的秒表计时器
Sep 05 #Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 #Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 #Javascript
Vue中component标签解决项目组件化操作
Sep 04 #Javascript
JS数组转字符串实现方法解析
Sep 04 #Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 #Javascript
You might like
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
Python常用模块用法分析
2014/09/08 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
python中的字符串内部换行方法
2018/07/19 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python实现直播推流效果
2019/11/26 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
python中添加模块导入路径的方法
2021/02/03 Python
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
大学生个人总结的自我评价
2013/10/05 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL