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判断浏览器是否是IE的比较好的办法
May 08 Javascript
js实现省市联动效果的简单实例
Feb 10 Javascript
JavaScript学习笔记之Cookie对象
Jan 22 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 Javascript
vue中mint-ui的使用方法
Apr 04 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
Jan 09 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
Sep 18 Javascript
js实现弹窗猜数字游戏
Nov 26 Javascript
Vue实现简易购物车页面
Dec 30 Vue.js
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数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP安全性漫谈
2012/06/28 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
PHP微信支付开发实例
2016/06/22 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
Python中的面向对象编程详解(上)
2015/04/13 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Python中的字符串查找操作方法总结
2016/06/27 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
django 类视图的使用方法详解
2019/07/24 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
优秀信贷员先进事迹
2014/01/31 职场文书
洗手间标语
2014/06/23 职场文书
物流管理专业推荐信
2014/09/06 职场文书
学习普通话的体会
2014/11/07 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
结婚保证书
2015/01/16 职场文书
2015年维修工作总结
2015/04/25 职场文书
工作迟到检讨书范文
2015/05/06 职场文书