网站首页 > 技术文章 正文
granim.js 是一个开源 JavaScript 库,专门用于创建流畅和交互式的渐变动画。这些动画可以作为网页的背景,也可以给其他元素添加渐变动画,如按钮或滑块的视觉反馈。还可以为文字加上渐变效果,为用户带来视觉上的吸引力。
示例代码:
基础渐变动画
// js
var granimInstance = new Granim({
element: '#canvas-basic',
direction: 'diagonal',
isPausedWhenNotInView: true,
states : {
"default-state": {
gradients: [
['#ff9966', '#ff5e62'],
['#00F260', '#0575E6'],
['#e1eec3', '#f05053']
]
}
}
});
复杂渐变动画
// js
var granimInstance = new Granim({
element: '#canvas-complex',
direction: 'left-right',
isPausedWhenNotInView: true,
states : {
"default-state": {
gradients: [
[
{ color: '#833ab4', pos: .2 },
{ color: '#fd1d1d', pos: .8 },
{ color: '#38ef7d', pos: 1 }
], [
{ color: '#40e0d0', pos: 0 },
{ color: '#ff8c00', pos: .2 },
{ color: '#ff0080', pos: .75 }
],
]
}
}
});
带图像和混合模式的渐变动画
// js
var granimInstance = new Granim({
element: '#canvas-image-blending',
direction: 'top-bottom',
isPausedWhenNotInView: true,
image : {
source: '../assets/img/bg-forest.jpg',
blendingMode: 'multiply'
},
states : {
"default-state": {
gradients: [
['#29323c', '#485563'],
['#FF6B6B', '#556270'],
['#80d3fe', '#7ea0c4'],
['#f0ab51', '#eceba3']
],
transitionSpeed: 7000
}
}
}
文字图像蒙层渐变
// js
var granimInstance = new Granim({
element: '#logo-canvas',
direction: 'left-right',
states : {
"default-state": {
gradients: [
['#EB3349', '#F45C43'],
['#FF8008', '#FFC837'],
['#4CB8C4', '#3CD3AD'],
['#24C6DC', '#514A9D'],
['#FF512F', '#DD2476'],
['#DA22FF', '#9733EE']
],
transitionSpeed: 2000
}
}
});
API 介绍:
选项 (Options)
- element (必需): 指定用于渐变动画的 canvas 元素的 CSS 选择器或 HTMLCanvasElement。
- name: 用于设置深色/浅色主题的类名前缀。
- elToSetClassOn: 设置深色/浅色类名的元素。
- direction: 渐变的方向,可选项包括 'diagonal'、'left-right'、'top-bottom'、'radial' 或 'custom'。
- customDirection: 自定义渐变方向的对象。
- isPausedWhenNotInView: 当动画不在视窗内时是否暂停。
- scrollDebounceThreshold: 滚动时的防抖阈值。
- stateTransitionSpeed: 状态转换的动画时长。
- defaultStateName: 默认状态的名称。
- states (必需): 包含所有状态的对象。
- image: 包含图像选项的对象。
状态 (States)
- gradients (必需): 定义渐变颜色和位置的数组。
- transitionSpeed: 每个渐变之间的过渡时长。
- loop: 动画到达最后一个渐变后是否循环。
图像 (Image)
- source (必需): 图像的源地址。
- position: 图像在 canvas 中的位置。
- stretchMode: 图像是否拉伸以适应大小。
- blendingMode: 图像与渐变的混合模式。
回调函数 (Callbacks)
- onStart: 动画开始时触发。
- onGradientChange: 渐变变化时触发。
- onEnd: 动画结束时触发。
事件 (Emitted Events)
- 监听关键事件,如 'granim:start'、'granim:end'、'granim:loop' 和 'granim:gradientChange'。
方法 (Methods)
- play(): 播放动画。
- pause(): 暂停动画。
- clear(): 停止动画并清除渐变。
- changeState(stateName): 更改状态。
- changeDirection(directionName): 更改方向。
- changeBlendingMode(blendingModeName): 更改混合模式。
- destroy(): 销毁实例并移除事件监听器。
《前端资源推荐》收集各种前端组件UI、插件、中后台系统模板、动画库、可视化资源、开源项目等,如有其他优秀资源,欢迎发消息投稿,感谢点赞、转发、关注!!!
GitHub:https://github.com/sarcadass/granim.js
官方文档:https://sarcadass.github.io/granim.js/index.html
猜你喜欢
- 2024-11-18 520情侣浪漫表白JS特效分享(附源码)
- 2024-11-18 C# 昵图下载器源代码+数据库
- 2024-11-18 愚人节作为一个前端程序猿,不应该写个3D特效导出表白么?
- 2024-11-18 JavaScript+css实现的动画过渡特效注册html页面web前端源码
- 2024-11-18 css3实现的鼠标悬停特效,鼠标悬停给图片加边框html页面前端源码
- 2024-11-18 jquery制作banner全屏特效切换原理
- 2024-11-18 「网络特效」12 个炫酷背景特效库
- 2024-11-18 Flutter 登陆界面 头部波浪效果 二
- 2024-11-18 css实现的图片列表切换轮播特效html页面前端源码
- 2024-11-18 前端CSS/JS-波纹按钮特效
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 604℃几个Oracle空值处理函数 oracle处理null值的函数
- 596℃Oracle分析函数之Lag和Lead()使用
- 583℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 580℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 575℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 569℃【数据统计分析】详解Oracle分组函数之CUBE
- 555℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 549℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)