jquery - 在 jquery.show() 上触发 CSS3 动画

标签 jquery css css-animations

我有一个漂亮的小三部分 iPhone 风格的“流行”动画,准备使用“太长”的错误来呈现给用户。要使用它,我只需在隐藏的错误 div 上调用 .show()。在 Safari 下它运行得很漂亮,但在 Firefox 下它只是砰的一声着陆,完全跳过动画,只是做一个常规的旧 .show()。

我该怎么做才能让它在 mozilla 下也能正常工作?

相关的CSS:

@-webkit-keyframes pop-in {
    0% { opacity: 0;-moz-transform: scale(0);-webkit-transform: scale(0); }
    50% { opacity: 1;-moz-transform: scale(1.5);-webkit-transform: scale(1.5); }
    100% { opacity: 1;-moz-transform: scale(1);-webkit-transform: scale(1); }
}

@-moz-keyframes pop-in {
    0% { opacity: 0;-moz-transform: scale(0);-webkit-transform: scale(0); }
    50% { opacity: 1;-moz-transform: scale(1.5);-webkit-transform: scale(1.5); }
    100% { opacity: 1;-moz-transform: scale(1);-webkit-transform: scale(1); }
}

@-ms-keyframes pop-in {
    0% { opacity: 0;-moz-transform: scale(0);-webkit-transform: scale(0); }
    50% { opacity: 1;-moz-transform: scale(1.5);-webkit-transform: scale(1.5); }
    100% { opacity: 1;-moz-transform: scale(1);-webkit-transform: scale(1); }
}

@keyframes pop-in {
    0% { opacity: 0;transform: scale(0);transform: scale(0); }
    50% { opacity: 1;transform: scale(1.5);transform: scale(1.5); }
    100% { opacity: 1;transform: scale(1);transform: scale(1); }
}


#error {
    ...
    -webkit-animation:pop-in 0.3s;
    -moz-animation:pop-in 0.3s;
    -ms-animation:pop-in 0.3s;
    animation:pop-in 0.3s;
    ...
}

最佳答案

只需将您的选择器设置为#error.active 并在显示该元素后添加.active 类..

关于jquery - 在 jquery.show() 上触发 CSS3 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11866929/

相关文章:

html - 如何完全删除右边距?

css - 纯 CSS 书籍封面在延迟后页面加载时翻转

html - CSS transform-origin + 堆叠 div

html - 围绕多个轴旋转 svg 元素

Jquery Mobile ListView 禁用画外音

javascript - 如何禁用 CTRL + 鼠标左键单击?

javascript - onclick 向按钮输入值

html - 图片不在我的 div 内

jQuery 插入的 ActiveX <object/> 标记具有不同的行为

javascript - 如何实现拖动以更改相对定位元素的顺序?