通过javascript添加类时,CSS3过渡无效

时间:2014-07-30 11:24:18

标签: javascript css3 css-transitions

我遇到了一个奇怪的问题。我正在我的JS-only-lightbox工作,以支持多个图像(https://github.com/felixhagspiel/jsOnlyLightbox为感兴趣的人)。所以我不使用jQuery。 现在我想添加通过CSS3-transitions添加动画的可能性。 我所做的是在点击下一个箭头后,将类jslghtbx-animating-next添加到灯箱内的图像中。该图片具有transition: all .6s ease-in-out;属性,而类jslghtbx-animating-next只包含margin-left: -100%;。但图像不是动画,它只是弹出到新的位置。另一方面,当我使用不透明度时,它可以工作。当我通过firebug应用margin-left-property时,动画也可以。我想也许是因为图片默认情况下只有margin-left: auto;,但删除它并没有做到这一点。

Testingserver:http://testing.felixhagspiel.de/index.html

Zip-File:http://testing.felixhagspiel.de/jsOnlyLightbox.rar

您必须单击标题“使用组以显示多个图像”下面的图像之一,然后单击右箭头(到目前为止只有下一个功能)。我还添加了5秒的延迟以便于调试。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

(非常不幸的是,在我看来)不可能通过CSS过渡来将边距(或其他任何内容)从“自动”设置为数值。有可能用JavaScript做到这一点;像Velocity这样的东西可能会有所帮助。