当前位置: 首页 > article >正文

基于TweenMax和SVG的炫酷弹性进度条动画特效

这是一款效果非常炫酷的基于TweenMax和SVG的炫酷弹性进度条动画特效。该弹性进度条特效在点击触发按钮之后,按钮会变形为进度条,然后一个滑块在它上面滑动,就像重物滑过绳子的感觉,非常有创意。

在线演示

 使用方法

该弹性进度条效果需要GSAP的支持,还要引入lastic-progress.min.js文件。

<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js"></script><script src="path/to/js/elastic-progress.min.js"></script>  

 HTML结构

可以使用一个<div>元素来作为按钮。

<div class="Upload" role="button" aria-label="Upload file"></div>       

这里使用带role="button"<div>元素来作为按钮,而不是直接使用一个<button>元素的原因是,根据W3C规范的建议,按钮元素不应该有交互元素。

 JavaScript

可以通过纯JS来初始化该弹性进度条插件。

var element=document.querySelector('.Upload');var progress=new ElasticProgress(element, { /*options*/ });// 或者...var progress=new ElasticProgress('.Upload', { /*options*/}); 

也可以通过jQuery来初始化该弹性进度条插件。

$('.Upload').ElasticProgress({/*options*/});               

 配置参数

配置参数设置在构造函数上,类似下面的样子:

var progress=new ElasticProgress('.Upload', {colorFg:"#FF0000",buttonSize:80,//...})  
 可用参数
  • arrowDirection:类型:string。箭头的方向,可取值有:'up''down'。默认值为'down'
  • colorFgcolorBg:类型:string。前景(箭头和进度条过滤部分)的颜色和背景(圆形,整个进度条背景),默认值为白色和黑色。
  • highlightColor:类型:string。边框高亮的颜色,默认值为#08F
  • background:类型:string。“弹出”动画时遮罩层的颜色。默认为body的背景色。
  • buttonSize:类型:number。圆形按钮的大小。默认值为元素的高度。
  • width:类型:number。进度条扩展的宽度。默认值为元素的宽度。/li>
  • labelHeight:类型:number。标签的高度,单位像素,默认值53。
  • barHeight:类型:number。进度条的厚度,默认值为4。
  • barInset:类型:number。进度条的填充部分,默认值为-0.5。
  • bleedTopbleedRightbleedLeftbleedBottom:类型:number。图形的margin值。默认为100, 50, 50 和 60。
  • fontFamily:类型:string。标签上的字体。默认值为'Helvetica Neue','Helvetica','Arial',sans-serif
  • fontWeight:类型:string。默认值为'bold'
  • textCompletetextFailtextCancel:类型:string。在以上事件中显示的文本。默认值分别为:'Done''Failed''Canceled'
  • barStretch:类型:number。进度条拉伸的最大距离。默认为20。
  • jumpHeight:类型:number。箭头和标签跳动的距离。默认为50。
  • barElasticOvershootbarElasticPeriod:类型:number。弹性动画的设置。默认值为1.8和0.15。
  • labelWobbliness:类型:number。在进度条动画期间标签的动画设置。默认为40。
  • arrowHangOnFailarrowHangOnCancel:类型:boolean。设置在这2个事件中箭头是否会“跌落”下来。默认值都是true

 事件

按钮本身没有任何操作。你可以通过下面的事件来控制按钮的行为。

var progress=new ElasticProgress('.Upload', {// ...onClick:function(){progress.open();}});function theFunctionYouAreUsingToCheckProgress(){// ...progress.set(value);}// 通过jQuery$(".Upload").ElasticProgress({// ...onClick:function(){$(this).ElasticProgress('open');}});function theFunctionYouAreUsingToCheckProgress(){// ...$(".Upload").ElasticProgress('set',value);} 

 可用事件
  • onClick:类型:function。在用户点击按钮时触发。
  • onOpen:类型:function。当进度条完成打开动画时触发。
  • onChange:类型:function。当进度条的值发生改变时触发。
  • onComplete:类型:function。当进度条结束时触发。
  • onClose:类型:function。当关闭动画结束时触发。
  • onFail:类型:function。当“失败”动画开始时触发。
  • onCancel:类型:function。当取消动画开始时触发。

 方法

  • open():开始打开动画(将按钮转换为进度条)。
  • close():将进度条转换为按钮。
  • setValue(value number):设置进度条值的百分比,0-1。
  • getValue() :返回当前进度条的值。
  • fail()cancel():执行“失败”和“取消”动画。
  • complete():执行“完成”动画。可以使用setValue(1)来替代它。
  • onClick(callbackfunction)onOpen(callbackfunction)onChange(callbackfunction)
    onComplete(callbackfunction)onClose(callbackfunction)onFail(callbackfunction)
    onCancel(callbackfunction):相同名称参数的别名。

相关文章:

基于TweenMax和SVG的炫酷弹性进度条动画特效

这是一款效果非常炫酷的基于TweenMax和SVG的炫酷弹性进度条动画特效。该弹性进度条特效在点击触发按钮之后&#xff0c;按钮会变形为进度条&#xff0c;然后一个滑块在它上面滑动&#xff0c;就像重物滑过绳子的感觉&#xff0c;非常有创意。 在线演示 使用方法 该弹性进度条效…...

机器视觉工程师如何看机器视觉展会,有些机器视觉兄弟参加机器视觉展会,真的是参加了?重在参与?

作为机器视觉工程师,参加机器视觉展会不仅是了解行业前沿技术的窗口,也是拓展专业网络、寻找解决方案的重要机会。以下是结合展会信息和工程师视角的综合建议: 一、聚焦技术趋势与创新应用 参与技术论坛与研讨会 展会同期的技术论坛是获取行业洞见的核心渠道。例如: 上海展…...

【例6.5】活动选择(信息学奥赛一本通-1323)

【题目描述】 学校在最近几天有n个活动&#xff0c;这些活动都需要使用学校的大礼堂&#xff0c;在同一时间&#xff0c;礼堂只能被一个活动使用。由于有些活动时间上有冲突&#xff0c;学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。 现在给出n个活动使用礼堂的起…...

ngrep :网络嗅探的利器

在网络安全、渗透测试和系统调试领域&#xff0c;捕获和分析网络流量是不可或缺的技能。虽然像 tcpdump 和 Wireshark 这样的工具广为人知&#xff0c;但有一个轻量级且功能强大的工具却常常被忽视——ngrep。本文将详细介绍 ngrep 的功能、使用方法及其在实际场景中的应用&…...

HCIE是否必须培训?

一、官方政策&#xff1a;不强制培训&#xff0c;但实操门槛高 根据华为认证官网最新规定&#xff0c;HCIE考试不强制要求参加官方培训&#xff0c;考生可直接报名。但需注意以下隐性门槛&#xff1a; 实验环境限制&#xff1a; HCIE实验考试涉及 真机操作&#xff08;如CE交换…...

python面试高频考点(深度学习大模型方向)

1. python中yeild和return的区别&#xff1f; 2. 介绍一下pytohn中的上下文管理器&#xff1f; 在Python中&#xff0c;上下文管理器&#xff08;Context Manager&#xff09; 是一种通过 with 语句管理资源的协议&#xff0c;确保资源&#xff08;如文件、数据库连接、线程锁…...

六、重学C++—深入探索new delete

上一章节&#xff1a; 五、重学C—类(封装继承)-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146458436?spm1001.2014.3001.5502 本章节代码&#xff1a; cpp CuiQingCheng/cppstudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/cppstudy/tree/m…...

西门子200smart之modbus_TCP(做主站与第三方设备)通讯

西门子200smart做MODBUS_TCP主站通讯,只有一个指令。设置相关参数即可完成读写操作。整 个过程非常复杂,操作非常严谨。此次,我们使用汇川EASY系列PLC做从站,完成演示。关于汇川案例的演示,详见汇川EASY系列之以太网通讯(MODBUS_TCP做从站)-CSDN博客 关于主站和从站的介…...

Unity代码热更新和资源热更新

知识点来源&#xff1a;人间自有韬哥在&#xff0c;hybridclr,豆包 目录 一、代码热更新1.代码热更新概述2.HybridCLR 二、资源热更新1.资源热更新概述2.AB包2.1.AB包的加载2.2.卸载AB包2.3.加载AB包依赖包2.4.获取MD52.5.生成对比文件2.6.更新AB包 3.Addressable3.1.AssetRef…...

C语言中的共同体(共用体)

一.共用体 1.应用场景&#xff1a; 一种数据可能有多种数据类型&#xff0c;因此我们可以使用共同体来定义这种数据 2.定义格式&#xff1a; union 共同体名字 {数据类型1 成员1;数据类型2 成员2;...数据类型n 成员n; } 3.简单案例&#xff1a; #include<stdio.h> …...

二叉搜索树的最近公共祖先 删除二叉搜索树中的节点 修剪二叉搜索树(Java)

二叉搜索树的最近公共祖先(Java) 重要结论&#xff1a;第一次遇到cur节点是数值在[q, p]区间中&#xff0c;那么cur就是q和p的最近公共祖先&#xff08;闭区间是因为公共祖先可以是本身&#xff09; (如果知道这个结论&#xff1a;本题就类似于给定二叉搜索树&#xff08;BST&…...

于纷扰中寻静谧:正念观照的智慧之旅

在现代社会的快节奏浪潮中&#xff0c;我们仿若被裹挟前行的浮萍&#xff0c;生活的压力与信息的洪流冲刷着内心的宁静&#xff0c;焦虑与迷茫如影随形。而正念观照&#xff0c;恰似一叶扁舟&#xff0c;能引领我们在心灵的海洋中回归自我&#xff0c;探寻那片澄澈之境。 正念…...

Java并发编程面试汇总

Java并发编程 一、 基础概念1. 进程与线程的区别是什么&#xff1f;2. 创建线程的几种方式&#xff1f;3. 线程的生命周期&#xff08;状态&#xff09;有哪些&#xff1f;4. 什么是守护线程&#xff08;Daemon Thread&#xff09;&#xff1f;5. 线程优先级&#xff08;Priori…...

计算机考研复试机试-考前速记

考前速记 知识点 1. 链表篇 1. 循环链表报数3&#xff0c;输出最后一个报数编号 #include <iostream> using namespace std;typedef struct Node {int no;struct Node* next; }Node, *NodeList;void createNodeListTail(NodeList&L, int n) {L (Node*)malloc(siz…...

环境评价分析中土地利用现状图的制作方法

在环境评价中&#xff0c;土地利用现状图是重要的基础图件&#xff0c;用于分析项目区域的土地利用类型、分布格局及其生态环境特征。 以下是制作土地利用现状图的详细步骤和方法&#xff1a; 一、前期准备工作 确定制图范围和比例尺 根据评价范围确定制图区域边界 常用比例…...

SpringMVC 请求处理详解

SpringMVC 是 Spring 框架中用于构建 Web 应用程序的模块&#xff0c;它基于 MVC&#xff08;Model-View-Controller&#xff09;设计模式&#xff0c;能够将业务逻辑、数据和显示分离&#xff0c;从而提高代码的可维护性和可扩展性。本文将详细介绍 SpringMVC 中请求处理的原理…...

编程题记录3

九宫幻方 题目链接&#xff1a;https://www.lanqiao.cn/problems/100/learning/?page1&first_category_id1&second_category_id3&tags%E7%9C%81%E8%B5%9B&tag_relationintersection 先旋转、镜像得到所有的情况&#xff0c;可以发现情况是可以暴力得出的。…...

sql语句给表添加一个递增列

SSMS–》视图-》数据库(表)-》新建查询 ALTER TABLE [表名] DROP COLUMN ID ALTER TABLE [表名] ADD ID INT IDENTITY(1,1)执行完以上操作&#xff0c;会在表的最后一列添加一个自增字段 接下来如何把最后一个字段放到第一个字段呢&#xff1f; 假如sqlserver 表test 有以下…...

Java面试黄金宝典10

1. Tomcat 的负载均衡方式 定义 Tomcat 的负载均衡是将客户端的请求均匀分配到多个 Tomcat 实例上&#xff0c;以提高系统的处理能力和可用性。常见的负载均衡方式有以下几种&#xff1a; 硬件负载均衡 原理&#xff1a;采用专门的硬件设备&#xff0c;如 F5 Big - IP、Cisco…...

vue java 实现大地图切片上传

文章目录 一、项目背景二、页面三、代码1.前端2.mock-i18n.js文件3.xx.js文件定义方法4.配置文件 application.properties5.后端方法 四、易错点易错点1&#xff1a;前端要进行分片切割&#xff0c;然后再分片上传。易错点2&#xff1a;后端配置文件要配置。易错点3&#xff1a…...

langchain+ollama+deepseek的部署(win)

ANACONDA 安装 官网&#xff1a;Download Anaconda Distribution | Anaconda 配置系统环境 在系统变量中配置 检查是否配置成功 通过 cmd 窗口输入&#xff1a; conda info 如图&#xff1a;表示成功 配置你的虚拟环境 二、安装 ollama allama 安装 官网地址&#xff1a…...

deepseek实战教程-第四篇开放平台接口文档使用

第二篇讲解了如何本地安装大模型&#xff0c;然后编写一个基于jsspringboot的项目&#xff0c;通过页面实现对话的功能。实际上&#xff0c;上面的demo用到是deepseek提供的接口&#xff0c;那么deepseek共提供了多少接口呢&#xff1f;这就要讨论到deepseek的接口库了&#xf…...

Android第六次面试总结(Java设计模式二)

在 Android 开发里&#xff0c;ListView 和 RecyclerView 是常用的视图组件&#xff0c;用于展示大量数据列表。不过&#xff0c;这些视图组件本身无法直接展示原始数据源&#xff0c;需要借助 Adapter&#xff08;适配器&#xff09;把数据源适配成视图能够展示的数据&#xf…...

一站式电脑工具箱,功能全面且实用

小明工具箱是一款集成了系统设置、维护工具、实用工具、图像处理等四大类工具的电脑工具箱&#xff0c;涵盖了上百种实用工具&#xff0c;能够满足用户在文件管理、文本处理、系统优化、图像处理等多方面的需求。 初次使用&#xff0c;需双击软件&#xff0c;便会自动将工具解压…...

那些正常的动态规划

文章目录 前言动态规划到底是啥&#xff1f; 线性dp最长上升子序列子集和子序列和子串的区别内容分析 最大上升子序列例题1——[NOIP2004 提高组] 合唱队形分析 最长公共子序列最长公共子串 平面dp例题2——[NOIP2000 提高组] 方格取数分析 例题3——[NOIP2008 提高组] 传纸条分…...

Opencv计算机视觉编程攻略-第二节 图像像素操作

第二节 图像像素操作 1.访问像素值2.用指针扫描图像3.扫描图像并访问相邻像素4.实现简单的图像运算5.图像重映射 1.访问像素值 以椒盐噪声为例展示像素值访问的几种方法 void salt(cv::Mat image, int n) {// C11 random number generatorstd::default_random_engine generat…...

华为交换相关

端口模式 &#xff08;1&#xff09;access&#xff1a;只能属于单个VLAN&#xff0c;一般用于连接计算机端口 &#xff08;2&#xff09;trunk&#xff1a;端口允许多个VLAN通过&#xff0c;可以接收和发送多个VLAN报文&#xff0c;默认情况下只有管理VLAN不携带标签信息 &…...

Chrome Performance 面板完全指南:从卡顿到丝滑的终极调试术

1.写在前面 前端性能调试是优化网页加载速度和运行效率的关键步骤&#xff0c;Chrome DevTools 的 Performance 面板 是核心工具; 2.Performance 面板使用步骤 ★ 基础 打开面板 在 Chrome 中按 F12 → 切换到 Performance 标签页。 开始录制 方式一&#xff1a;点击 ⚫️ 圆…...

idea中快速注释函数

在IntelliJ IDEA中&#xff0c;有多种方法可以快速注释函数。 使用快捷键 你可以使用以下快捷键来快速注释函数[3]&#xff1a; 行注释&#xff1a;使用Ctrl/&#xff08;Windows系统&#xff09;或Command/&#xff08;Mac系统&#xff09;可以在当前行前添加或删除单行注释…...

深入解析Linux网络、安全与容器技术

1. Netfilter&#xff1a;Linux内核的包处理框架 Netfilter 是Linux内核中用于控制网络数据包的核心机制&#xff0c;负责处理数据包的过滤、修改和转发。其核心功能包括&#xff1a; 包过滤&#xff08;Packet Filtering&#xff09;&#xff1a;根据规则允许或拒绝数据包通过…...