【问题标题】:modify class that isn't assigned to any element修改未分配给任何元素的类
【发布时间】:2017-09-20 04:40:39
【问题描述】:

我有一门课,我们称之为.zero

我想访问它并分配transform:translateY(calculatedValueHere);

这将触发动画。基本上我需要对 css translateY 执行一些计算,然后将该值应用于我想要动画的对象。

我怎样才能使用 javascript 或 jquery 做到这一点?

编辑:由于性能问题,动画的 jquery 或 javascript 方法(例如 animate 方法)不是一个选项。 css translate 使用 GPU 加速,这就是我所追求的。

【问题讨论】:

  • 首先是示例代码,然后查看animate
  • 我不想要动画,因为我的动画太复杂,无法由 jquery 或 javascript 处理。我没有得到我需要的性能。另一方面,CSS 翻译使用 GPU 加速
  • 你为什么不提这个?具体点!

标签: javascript jquery css


【解决方案1】:

只需将样式应用于您的 css 中的该类,例如

.zero { 
    / *your animations */ 
}

然后您可以使用 jQuery 将类添加到您想要的元素。在添加类之前,动画不会开始。

$('yourElm').addClass('zero');

【讨论】:

  • 这不处理询问在样式中​​具有计算值的问题的主要部分:transform:translateY(calculatedValueHere);
  • 你用什么来计算值?您要准确计算什么值?
  • 一些复杂的东西。等式中有 10 种不同的宽度和高度,我使用了 user2049132 的答案,这是一个很好的解决方法
【解决方案2】:

您必须动态更改类的 css 属性。这样,您将来添加该类的任何元素也将具有相同的行为。

以下问题的堆栈溢出答案讨论了如何实现这一点。

Change CSS class properties with jQuery

我会将此问题标记为重复/类似于上面的链接,但我的声誉低于我需要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2021-12-06
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多