【问题标题】:Css animations firing twice and "blinking" in firefoxCss 动画在 Firefox 中触发两次并“闪烁”
【发布时间】:2014-10-15 14:04:17
【问题描述】:

我在 Firefox 中使用一些 css 动画时遇到了一点问题。当用户单击按钮时,我正在使用它们滑入一些单选按钮。在 chrome 中,一切似乎都很好,但在 Firefox 中,它们看起来像是两次触发动画(第二次略高于第一次)。我已经尝试了一些东西,但似乎无法解决这个问题。这就是我正在做的事情:

$(document).on("click", ".addLesson", function(){
    $(".contentList").addClass("fadeOutRight");
    $(".contentList").hide();
    $(".lessonOptions").addClass("fadeInLeft");
});

$(document).on("click", ".lessonCancel", function(){
    $(".contentList").removeClass("fadeOutRight");
    $(".contentList").addClass("fadeInLeft");
    $(".contentList").show();
    $(".lessonOptions").removeClass("fadeInLeft");
    $(".lessonOptions input[type='radio']").removeAttr("checked");
});

我只是在动画本身使用 animate.css 样式 -

.fadeInLeft 
-webkit-animation: fadeInLeft 1s forwards
animation: fadeInLeft 1s forwards

@-webkit-keyframes fadeInLeft
0%
    opacity: 0
    -webkit-transform: translate3d(-100%, 0, 0)
    transform: translate3d(-100%, 0, 0)
100%
    opacity: 1
    -webkit-transform: none
    transform: none
@keyframes fadeInLeft
0%
    opacity: 0
    -webkit-transform: translate3d(-100%, 0, 0)
    transform: translate3d(-100%, 0, 0)
100%
    opacity: 1
    -webkit-transform: none
    transform: none

.fadeOutRight
-webkit-animation: fadeOutRight 1s 
animation: fadeOutRight 1s

@-webkit-keyframes fadeOutRight
0%
    opacity: 1
100%
    opacity: 0
    -webkit-transform: translate3d(2000px, 0, 0)
    transform: translate3d(2000px, 0, 0)

@keyframes fadeOutRight
0%
    opacity: 1
100%
    opacity: 0
    -webkit-transform: translate3d(2000px, 0, 0)
    transform: translate3d(2000px, 0, 0)

我想也许我正在让 javascript 和 css 相互对抗,但我不确定,因为它在 chrome 中运行良好。

我还注意到,当我将鼠标悬停在我滑入的 lessOptions div 上时(进入舞台后),它会闪烁或闪烁。

感谢您的阅读!

笔在此处 - http://codepen.io/anon/pen/IkhGp

【问题讨论】:

  • 最好在 jsfiddle 中看到这个,这样我们就可以看到它正在运行
  • 添加笔(底部)
  • 尝试:当你使用 css3 动画制作为 firefox 以及像这样 -moz-transform: translate3d(2000px, 0, 0);以及关键帧 @-moz-keyframes fadeInLeft @user3201696

标签: javascript jquery html css animation


【解决方案1】:

所以对我来说,出现这个问题是因为我有一个持续 0.5 秒的动画和一个过渡:全 1;以及我的动画元素,这导致动画触发两次。删除过渡并单独保留动画为​​我解决了这个问题。

【讨论】:

    【解决方案2】:

    自从发布此消息以来已有一段时间,但我遇到了同样的问题。对我来说,只有当开发人员工具打开时,这对我来说似乎是一个问题。关闭工具并刷新,动画就可以正常播放了。

    【讨论】:

    • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起更多的关注。
    猜你喜欢
    • 2012-10-16
    • 2014-07-22
    • 2015-09-11
    • 2012-07-10
    • 2019-04-15
    • 2017-09-15
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    相关资源
    最近更新 更多