javascript - 按钮点击动画 svg rect
问题描述
我想为 svg rect 的宽度设置动画。
最初,矩形宽度应为 0,单击按钮时宽度应在 5 秒内增长到宽度的 100%。
我创建了这个代码框。
我基本上创建了这个类:
.grow {
animation: growAnimation 5s linear 1;
}
@keyframes growAnimation {
from {
transform: scale(0%, 100%);
}
to {
transform: scale(100%, 100%);
}
}
我仅在用户单击按钮时才分配此类,但它不起作用:矩形宽度为 0,单击时为 100%,5 秒内没有增长。为什么?
有更好的方法吗?将来我还要做一个按住动画:
- 在按钮上单击动画开始
- on 按钮按住动画继续
- 如果用户在增长动画结束之前释放按钮,则会出现反向动画(从 100% 到 0%)。
解决方案
您应该将参数scale
作为数字而不是百分比传递给属性:
@keyframes growAnimation {
from {
transform: scale(0, 1);
}
to {
transform: scale(1, 1);
}
}
推荐阅读
- spring - 如何在spring中编写while循环
- javascript - Socket.io 事件监听器在我的 React 类组件中自发触发,没有服务器输出
- excel - 将文件夹中的 Excel 文件复制到一个 Excel 文件中
- linux-kernel - 使用 binutils 2.31 或更高版本构建时设备无法启动
- python - 应该对原始数据还是拆分数据执行交叉验证分数?
- java - JAVA - 隐藏类 Selenium
- android - 从 sqlite 数据库中设置 recyclerview 中的数据时出现 IndexOutOfBound 异常
- c# - 使用表达式树创建自动映射器配置
- php - “ppa.launchpad.net/ondrej/php/ubuntu focus/main amd64 Packages”-404 未找到
- npm - SemVer 冲突:如果有一些 alpha/beta/rc 版本并且工作正在进行中,如何发布上一个稳定版本的错误修复?