Owl 带 animate.css 的轮播字幕
Owl carousel caption with animate.css
我正在尝试在 owl 轮播中制作字幕。我正在使用 animate.css。
我已经为轮播中的字幕添加了动画,但它并不适用于所有人。只有第一张幻灯片的标题有动画。这是我的代码;
<div class="owl-carousel owl-theme">
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">First Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Second Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Third Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Fourth Caption</h1></div>
</div>
</div><!-- End Carousel -->
<style>
.caption {
position: absolute;
font-size: 1.5em;
top: 0;
left: 15px;
border:1px solid;
color:orange;
text-shadow: 2px 2px 1px #000;
padding-top: 60vh;
}
</style>
<script>
$(document).ready(function(){
$('.owl-carousel').owlCarousel({
items:1,
loop:true,
autoplay:true,
autoplayTimeout:3500,
nav:true,
})
});
</script>
我正在等待你的帮助。我卡住了
动画仅在 class 应用于 div 时应用一次。因此,您的所有幻灯片仅在开始时动画一次,但您只能看到第一个 div,因此没有其他任何事情发生。
如果您观察轮播中的幻灯片变化,然后从所有 div 中删除 'animate bounce' class,然后立即将其重新应用到屏幕上的幻灯片,那么您可以看到每一个动画。
试试这个 jquery:
$(document).ready(function() {
var owl = $('.owl-carousel');
owl.owlCarousel({
items: 1,
loop: true,
autoplay: true,
autoplayTimeout: 3500,
nav: true,
margin: 10,
});
owl.on('changed.owl.carousel', function(event) {
var item = event.item.index - 2; // Position of the current item
$('h1').removeClass('animated bounce');
$('.owl-item').not('.cloned').eq(item).find('h1').addClass('animated bounce');
});
});
然后在您的 html 中,第一张幻灯片仅使用 'animate bounce' classes(将其从其他幻灯片中删除):
<div id='monitor'>
</div>
<div class="owl-carousel owl-theme">
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="animated bounce">First Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Second Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Third Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Fourth Caption</h1></div>
</div>
</div>
<!-- End Carousel -->
这是无限的。看看这个 owl.carousel 的例子: http://wpcheatsheet.net/infinite-animated-css-in-owl-carousel/ 你必须在改变后删除 class 动画但是这个函数在 owl.carousel 2 中缺失:afterMove 和 beforeMove
我正在尝试在 owl 轮播中制作字幕。我正在使用 animate.css。 我已经为轮播中的字幕添加了动画,但它并不适用于所有人。只有第一张幻灯片的标题有动画。这是我的代码;
<div class="owl-carousel owl-theme">
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">First Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Second Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Third Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/900x1200">
<div class="caption"><h1 class="animated bounce">Fourth Caption</h1></div>
</div>
</div><!-- End Carousel -->
<style>
.caption {
position: absolute;
font-size: 1.5em;
top: 0;
left: 15px;
border:1px solid;
color:orange;
text-shadow: 2px 2px 1px #000;
padding-top: 60vh;
}
</style>
<script>
$(document).ready(function(){
$('.owl-carousel').owlCarousel({
items:1,
loop:true,
autoplay:true,
autoplayTimeout:3500,
nav:true,
})
});
</script>
我正在等待你的帮助。我卡住了
动画仅在 class 应用于 div 时应用一次。因此,您的所有幻灯片仅在开始时动画一次,但您只能看到第一个 div,因此没有其他任何事情发生。
如果您观察轮播中的幻灯片变化,然后从所有 div 中删除 'animate bounce' class,然后立即将其重新应用到屏幕上的幻灯片,那么您可以看到每一个动画。
试试这个 jquery:
$(document).ready(function() {
var owl = $('.owl-carousel');
owl.owlCarousel({
items: 1,
loop: true,
autoplay: true,
autoplayTimeout: 3500,
nav: true,
margin: 10,
});
owl.on('changed.owl.carousel', function(event) {
var item = event.item.index - 2; // Position of the current item
$('h1').removeClass('animated bounce');
$('.owl-item').not('.cloned').eq(item).find('h1').addClass('animated bounce');
});
});
然后在您的 html 中,第一张幻灯片仅使用 'animate bounce' classes(将其从其他幻灯片中删除):
<div id='monitor'>
</div>
<div class="owl-carousel owl-theme">
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="animated bounce">First Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Second Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Third Caption</h1></div>
</div>
<div class="item"><img src="http://placehold.it/200x200">
<div class="caption">
<h1 class="">Fourth Caption</h1></div>
</div>
</div>
<!-- End Carousel -->
这是无限的。看看这个 owl.carousel 的例子: http://wpcheatsheet.net/infinite-animated-css-in-owl-carousel/ 你必须在改变后删除 class 动画但是这个函数在 owl.carousel 2 中缺失:afterMove 和 beforeMove