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 相关文章推荐
基于jQuery的可用于选项卡及幻灯的切换插件
Mar 28 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 Javascript
AngularGauge 属性解析详解
Sep 06 Javascript
常用Javascript函数与原型功能收藏(必看篇)
Oct 09 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
获取url中用&amp;隔开的参数实例(分享)
May 28 Javascript
Angular @HostBinding()和@HostListener()用法
Mar 05 Javascript
微信小程序实现倒计时补零功能
Jul 09 Javascript
在vue中created、mounted等方法使用小结
Jul 21 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 adodb介绍
2009/03/19 PHP
yii上传文件或图片实例
2014/04/01 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
javascript 写类方式之七
2009/07/05 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
Django框架模板用法入门教程
2019/11/04 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
小学母亲节活动方案
2014/03/14 职场文书
读书月活动方案
2014/05/22 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
2016年清明节寄语
2015/12/04 职场文书
新手必备Python开发环境搭建教程
2021/05/28 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技