javascript - 在 React 中使用 Javascript/Jquery 生成关键帧

标签 javascript jquery css reactjs

我正在 React 元素中制作动画。动画包含多个 bubble

每个气泡都需要快速增长和收缩,我的 css 动画看起来像这样

@keyframes bubbleTwitch {
  0% {
    width: 200px;
    height: 200px;
  }
  50% {
    width: 150px;
    height: 150px;
  }
  100% {
    width: 200px;
    height: 200px;
  }
}

然后我会在很短的时间内无限重复它

.bubble {
  animation-name:bubbleTwitch;
  animation-duration:150;
  animation-iteration-count:infinite;
}

但问题是每个气泡的大小都不一样。我会使用 transform:scale(),但我已经在使用 transform 来针对特定于每个气泡的特定 translateing。

我需要一种在 javascript 中为每个气泡生成关键帧的方法,以便我可以将其调整为每个气泡的大小。或者,如果有办法保持我原来的 translate 位置,我可以简单地创建一个 css 动画来使用 transform:scale 完成此操作。

有人知道解决这个问题的好方法吗?

最佳答案

您可以通过让气泡的大小按百分比变化来将每个气泡的大小固定到外部 div 上。您的 jsx 可能类似于:

<div className={s.bubbleContainer}>
    <div className={bubble} />
</div>

然后css可以这样设置样式:

.bubbleContainer {
    width: 200px;
    height: 200px;
}

@keyframes bubbleTwitch {
  0% {
    width: 100%;
    height: 100%;
  }
  50% {
    width: 75%;
    height: 75%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

这样,您可以将每个单独的 bubbleContainer 设置为具有类的不同大小,其方式与您计划使用 transform:scale 进行操作的方式类似。

关于javascript - 在 React 中使用 Javascript/Jquery 生成关键帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46700978/

相关文章:

javascript - 使用 JavaScript 的 AJAX 响应更新页面内容

javascript - 服务器响应结束时执行代码 - Node.js

Javascript源代码查找

css - extjs - 在较小的按钮上正确地适合按钮内的字体文本

javascript - 管道、具有动态参数的 ramda

javascript - 帮助 JQuery 条件语句

javascript - 使用 jQuery 查找重复的 LI 类名并在 UL 中对它们进行分组

javascript - 多维表单数组到 JavaScript 对象

html - 您将如何使用 HTML 和 CSS 实现此导航?

css - 最后一句话的风格