SiriWave:纯JavaScript实现的Siri波纹动画

SiriWave:纯JavaScript实现的Siri波纹动画

【免费下载链接】siriwave The Apple® Siri wave-form replicated in a JS library. 【免费下载链接】siriwave 项目地址: https://gitcode.com/gh_mirrors/si/siriwave

SiriWave是一个开源的JavaScript库,它完美地复刻了苹果Siri在屏幕上的动态波纹动画。无需任何图形设计经验,只需几行代码,你就能将这种令人印象深刻的视觉效果引入到你的网页应用中。

项目技术解析

SiriWave利用HTML5的Canvas API来创建动画,实现了两种风格的波形:经典的iOS样式和iOS9引入的荧光风格。通过调整速度、振幅、频率等参数,你可以定制出适合各种场景的波纹效果。该项目支持自定义颜色、曲线定义和随机范围,为开发者提供了极大的灵活性。

应用场景

  • 用户交互反馈:当用户点击按钮或进行其他操作时,展示SiriWave动画,以增加用户界面的趣味性和互动性。
  • 音频可视化:结合麦克风输入,可以实时显示音量变化,创建音乐播放器的波形效果。
  • 页面加载动画:在页面加载期间展示,给用户提供动态的等待体验。

使用方法

浏览器使用(通过CDN)

导入UMD包即可直接使用:

<script src="https://unpkg.com/siriwave/dist/siriwave.umd.min.js"></script>

ES模块使用

首先通过npm安装:npm install siriwave,然后导入:

import SiriWave from "siriwave";

初始化配置

创建div容器并实例化SiriWave对象:

<div id="siri-container"></div>
<script>
  var siriWave = new SiriWave({
    container: document.getElementById("siri-container"),
    width: 640,
    height: 200,
  });
</script>

配置选项详解

参数类型说明默认值
containerDOM元素添加Canvas元素的DOM容器必填
style"ios"或"ios9"波纹样式"ios"
speed数字动画速度0.2
amplitude数字波形振幅1
frequency数字波形频率6
color字符串波纹颜色"#fff"
autostart布尔值是否自动启动动画false

波形样式展示

SiriWave提供两种不同的波形效果:

经典iOS样式:传统的iOS波纹效果,具有多层叠加的平滑波浪。

经典iOS波纹效果

iOS9荧光样式:iOS9引入的新荧光波效果,色彩更加鲜艳明亮。

iOS9荧光波纹效果

API方法

start()

启动动画

stop()

停止动画

setSpeed(newValue)

设置新的动画速度值(平滑过渡)

setAmplitude(value)

设置新的振幅值(平滑过渡)

dispose()

停止动画并销毁Canvas元素,将其从DOM中移除。

自定义曲线定义

通过传递curveDefinition参数,你可以完全覆盖默认的曲线定义,创建完全不同的风格。

经典iOS样式的默认定义:

[
  { attenuation: -2, lineWidth: 1, opacity: 0.1 },
  { attenuation: -6, lineWidth: 1, opacity: 0.2 },
  { attenuation: 4, lineWidth: 1, opacity: 0.4 },
  { attenuation: 2, lineWidth: 1, opacity: 0.6 },
  { attenuation: 1, lineWidth: 1.5, opacity: 1 },
];

iOS9样式的默认定义:

[
  { color: "255,255,255", supportLine: true },
  { color: "15, 82, 169" }, // 蓝色
  { color: "173, 57, 76" }, // 红色
  { color: "48, 220, 155" }, // 绿色
];

开发与构建

如需在本地环境中进行修改,可以使用:

npm run dev

这将创建一个可监视的构建,并自动启动服务器在浏览器中查看更改。

构建所有目标:

npm run build

项目特点

  1. 跨平台兼容:基于JavaScript,能在所有支持HTML5 Canvas的现代浏览器上运行。
  2. 高度可配置:速度、振幅、频率等多个属性可调,轻松适应不同需求。
  3. 易于集成:通过简单的API调用来控制动画的启动、停止、速度和振幅。
  4. 代码清晰:源代码结构清晰,方便理解和扩展。
  5. 性能优化:流畅的动画效果,低资源消耗。

SiriWave是一个功能强大且易于使用的JavaScript库,为你的网站或应用添加专业的动态波纹效果。无论是模仿Siri的经典动画,还是探索自己的创意,SiriWave都能成为你手中得心应手的工具。

【免费下载链接】siriwave The Apple® Siri wave-form replicated in a JS library. 【免费下载链接】siriwave 项目地址: https://gitcode.com/gh_mirrors/si/siriwave

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值