gpt4 book ai didi

javascript - 通过静态插值控制关键帧动画进度

转载 作者:行者123 更新时间:2023-11-29 21:39:49 25 4
gpt4 key购买 nike

假设您想通过操作 animation-delay 属性来控制 CSS 关键帧动画的进度,同时将 animation-play-state 设置为暂停。

应该:

出于渲染性能和适当分离关注点的原因,您希望不要:

  • 要求脚本了解受控关键帧动画插入的 CSS 属性
  • 解析样式表以获得上述知识
  • 在隐藏元素上运行动画并将读取的内插 CSS 属性值传输到目标元素

问题

animation-delay 技术似乎不适用于以下浏览器(问题可以在两个提供的示例中重现)

  • Safari >= 8
  • iOS 浏览器 >= 8
  • IE >= 10
  • 微软边缘

有没有办法在满足上述所有要求的同时为所有浏览器产生所需的行为?

技术

例子

最佳答案

问题

解决方案

为了部分满足上述要求,我实现了 a library called jogwheel允许对通过 CSS 关键帧动画声明的动画进行时间轴控制。要实现此转轮,请执行以下操作:

  • 获取给定 HTMLElement 的计算 animation-name
  • 搜索 document.styleSheets 以匹配 CSSKeyFramesRule小号
  • 转换找到的 CSSKeyFrameRule与即将推出的 element.animate 兼容的一系列关键帧,这是提议的一部分 WebAnimations标准
  • 提供一个 API,允许控制与其时间轴长度相关的动画

要使用转盘,您必须

安装库:

npm install --save jogwheel web-animations-js

在您的 JavaScript 中:

// WebAnimations polyfill required
require('web-animations');
var JogWheel = require('jogwheel');

var element = document.querySelector('[data-animated]');
var wheel = JogWheel.create(element);
// Jumps midway into animation
wheel.seek(0.5);

关于javascript - 通过静态插值控制关键帧动画进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33392683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com