角动画左不工作

Posted

技术标签:

【中文标题】角动画左不工作【英文标题】:Angular animate Left is not working 【发布时间】:2018-10-03 15:38:40 【问题描述】:

我正在为 Slider 制作一个组件,但 css 的“left”属性的转换不起作用,我不知道我做错了什么。

这是我的动画:

animations: [
    trigger('slide', [
      state('move1', style(
        left: 'left'
      ),params: left: '0px'),
      state('move2',   style(
        left: 'left'
      ),params: left: '0px' ),
      transition('move1 <=> move2', animate('350ms ease-in-out'))
    ])
  ]

我正在动态传递“left”的值,但没有在状态之间运行动画。

left 的值可以完美运行,并且可以正确更改,但动画根本没有做任何事情。

【问题讨论】:

【参考方案1】:

您实际上没有对动画做任何事情,也许这就是为什么即使 DOM 中的状态发生变化,您也没有看到任何变化的原因。例如,在您的代码中,您有:

参数:left: '0px'

适用于您的两个州。

您需要在第二个状态上具有不同的属性值才能看到一些区别因素。例如,在您的代码中,您可能会有如下所示的内容:

animations: [
  trigger('slide', [
  state('move1', style(
    left: 'left'
  ),params: left: '0px'),
  state('move2',   style(
    left: 'left'
  ),params: left: '500px' ),
  transition('move1 <=> move2', animate('350ms ease-in-out'))
])]

这样,在第二种状态下,元素向左移动 500px。我将提供另一个示例,明确说明我的意思。

animations: [
trigger(
  'myAnimation',
  [
    transition(
    ':enter', [
      style(transform: 'translateY(-100%)', opacity: 0),
      animate('500ms', style(transform: 'translateY(0)', 'opacity': 1))
    ]
  ),
  transition(
    ':leave', [
      style(transform: 'translateY(0)', 'opacity': 1),
      animate('500ms', style(transform: 'translateY(-100%)', 'opacity': 0)),
    ]
  )]
)]

注意 translateY 参数值的变化。希望这可以解决一些问题!祝你好运! :D

【讨论】:

以上是关于角动画左不工作的主要内容,如果未能解决你的问题,请参考以下文章

角动画在完成后跳转到不想要的值

error bad argument #1 to draw (drawable expected, got table),试图为主角制作一个精灵动画

如何为 CALayer 的角半径设置动画

solidworks中为啥动画配合没有问题,但是在motion分析的时候前轮角位移的运动没有按照动画的来?

简单的 canvas 翻角效果

什么是关键帧动画