我在Ubuntu 14.04中使用firefox 33.0。我有一个带bootstrap 3轮播的网站(localhost)。我已经将“动画脉冲”(animate.min.css)类应用于“class = item”div中的“img”和我的旋转木马标题中的“animated fadeinleft”。
<div class="item">
<img src="images/2.jpg" class="img-responsive animated pulse">
<div class="container">
<div class="carousel-caption">
<h1 class="animated fadeinleft">Another example headline.</h1>
<p class="animated fadeinright">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</div>
</div>
</div>
共有3张幻灯片。对于每张幻灯片的第一次出现,图像和轮播标题带有效果(animate.min.css)。但在那之后,幻灯片来来往往没有任何影响。这只发生在firefox中。在Chrome 38.0.2125.104中,它按预期工作。有人请建议一种解决问题的方法。
答案 0 :(得分:2)
如果您查看其site上的示例,则应用类,如果您想再次触发,则需要再次删除和添加类。这就是通过再次删除和添加类来重新启动或再次触发CSS3动画的方法。您可以阅读有关此here的更多信息。在您的情况下,类不会被删除并再次添加。
对于Bootstrap,您可以使用slide.bs.carousel
再次添加类。我已经为各个动画的元素添加了数据属性[data-animation]。
<div class="active item">
<img src="http://lorempixel.com/1024/750" alt="Slide1" class="img-responsive animated pulse" data-animation="pulse" />
<div class="container">
<div class="carousel-caption">
<h1 class="animated fadeInLeft" data-animation="fadeInLeft">Another example headline.</h1>
<p class="animated fadeInRight" data-animation="fadeInRight">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</div>
</div>
</div>
JS代码
function animateElement(obj, anim_) {
obj.addClass(anim_ + ' animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
$(this).removeClass();
});
}
$('#myCarousel').on('slide.bs.carousel', function (e) {
var current = $('.item').eq(parseInt($(e.relatedTarget).index()));
$('[data-animation]').removeClass();
$('[data-animation]', current).each(function () {
var $this = $(this);
var anim_ = $this.data('animation');
animateElement($this, anim_);
});
});