繁体   English   中英

CSS动画-setTimeout不应用会中断动画的更改

Css animation - setTimeout doesn't apply changes which breaks animation

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这是我的目标的描述:

  1. 我有display: nonedisplay: none
  2. 有时我需要用opacity动画显示它。

这是我的解决方案:
1. transition: opacity 0.5s ease-in-out;
2.在第一步设置display: block; opacity: 0 display: block; opacity: 0
3.在第二步设置display: block; opacity: 1 display: block; opacity: 1 ,在setTimeout()以应用第一步。

问题在于,第一步仅在某些情况下适用-有时可行/有时不可行,并且浏览器仅跳过第一步。 我认为将setTimeout更改为requestAnimationFrame应该可以解决问题,但不能解决问题- 检查我的示例

为什么setTimeout / requestAnimationFrame不强制浏览器应用第一步? 如何在应用第二个步骤之前强制浏览器先执行步骤?

1 个回复

解决方案: http//jsfiddle.net/sxny7zs2/

.box{display:none}应该是.box{display: block;}

设置display:none您几乎完全将对象从DOM中删除。 通过重置为display:block可以将对象完全放回原位,并开始与其他对象进行交互。 display功能不是用于动画,而是用于消除对象之间的相互干扰。

我怀疑这是反派:

$box.removeClass('is-animate-enter').addClass('is-animate-active');

通过删除is-animate-enter类,您可以触发display:none; 在您可以添加下一个课程之前。 这意味着该对象将从视图中卸载。 同时,当您进行is-animate-active您会立即设置display:blockopacity:1 就浏览器而言,您正在创建一个新元素,而不是在此处修改旧元素。 如前所述,在切换display您实际上是在loadingunloading对象,因此无法进行动画处理。

也许.switchClass()可以解决此问题,但是我不确定,重申display命令是用于loadingunloading而不是用于动画。

1 如何平稳地完成CSS动画而不会中断

通过运行以下代码,您可以在几秒钟后看到动画中断,无法顺利运行。 我想以我定义的相同宽度连续平稳地运行它。 请帮助,这也是小提琴 .tech-slideshow { height: 200px; max-width: 800px; margin: 0 auto; positio ...

2 为什么我的CSS动画会中断溢出?

我花了很长时间尝试找出答案,但我看不出任何原因导致此错误。 您可以看到,在我的场景div之外可见了太阳和土地,那里隐藏着大量的东西。 现在,如果您进入下面的课程并注释掉该动画,它将正确显示。 为什么在地球上这种行为呢? 是因为我已经在制作动画的div中有动画吗? 笔: ht ...

3 为什么setTimeout中的输入setState会中断中文IME?

我在React中有一个简单的受控输入组件,我正在设法解决这个问题。 如果我以正常方式进行操作,则一切正常,并且IME可以按预期工作: 但是,如果我将setTimeout或另一个setState包装在外面,则中文IME将不再起作用,似乎在每个setState期间它都已中断? ...

4 我的 wordpress 子主题不应用 css 更改

我已经从 nightingale 主题创建了一个子主题,但是当我尝试更改 nigthingale-child/style.css 中的属性时,它不适用。 例如,我试图更改正文的背景颜色或为 h1 标记不显示任何内容,只是为了查看我的子主题 style.css 是否有效,但没有任何反应。 我遵循了创 ...

5 Flash嵌入会中断动画流(!?)

我为客户制作了一些动画。 它是猫的重复动作。 Flash文件效果很好,并显示了无休止的动画。 但是,当我集成了该动画后,它播放的动画就出错了。 它停留在某个点上。 这是代码和链接: (嵌入)动画http://davidgoltz.com/2011/wp-content/theme ...

6 替换div ID并更改CSS高度(使用overflow-y:“ scroll”)会中断javascript延迟加载

我正在使用jQuery在div上进行2处更改: 以及: 结果正是我想要的:正确的形状和正确的CSS类应用于div。 此div中的内容包含使用延迟加载javascript加载的图像。 最初的图像加载良好,但是在此div中滚动时,不会加载新图像。 它们仅在调整窗口大小或有可 ...

9 为什么不应用这些 CSS 规则

我试图制作这个视差网站。 在 CSS 中,我定义了.image1 的属性。 所以我写下了属性,然后在它下面我再次为同一个类.image1写了一些属性。 但只应用了 ~ 不透明度、位置(从第 1 次)和其他定义的属性(从第 2 次开始)。 我使用 Inspect Element 检查了它,所有其他属性 ...

2020-10-08 13:08:02 1 31   css/ web
10 为什么不应用CSS转换?

我已经构建了一个小的堆叠条形视觉,只是使用浮动divs ,下面使用knockout绑定到一些数据。 我希望能够做的是在数据更改时动画显示这些堆栈大小的变化。 我已经设法在一般情况下做到了这一点,所以我已经有4个吧,其中3个正确转换。 问题是我的最后一栏似乎忽略了过渡并立即重新调整大小, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM