Slick Carousel 目标活动幻灯片添加和删除动画类
Slick Carousel target active slide to add and remove animation classes
我正在尝试将 ken wheeler 的 slick carousel
中的 active slide
作为目标,以将动画添加到该幻灯片中的 p 元素。
因此,当 slide
处于活动状态时,p
元素将弹回(或其他内容),然后当幻灯片过渡到下一张幻灯片时,动画将应用于新的p 元素。幻灯片循环播放后,动画 class 将连续应用于 slick carousel
.
HTML:
<div class="slick-promo">
<div class="single-slide">[img code here]<p>This text will come in animated, then as the slide leaves it will have the animation class removed.</p></div>
<div class="single-slide">[img code here]<p>Lorem ipsum blah blah</p></div>
<div class="single-slide">[img code here]<p>lorem ipsum blah blah</p></div>
</div>
images
和几个classes
是我用的其他程序动态生成的。
Javascript:
jQuery(document).ready(function($){
$('.slick-promo').slick({
infinite: true,
fade: true,
cssEase: 'linear',
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
//this is where I need help
onAfterChange:function(slider,index){
$('.slick-active p').toggleClass('animated bounce');
}
});
});
.slick-active
class是由slick carousel
动态生成的。我的目标是上述 HTML 代码中的 p
元素。 animated bounce
classes 绑定到生成动画的 css。
我是 Javascript/jQuery
的新手,所以我的错误可能是初级的。我已经在网上搜索了很多小时,现在试图找出我需要做什么...
问题在于如何在 slick carousel 提供的 afterChange 和 beforeChange 事件期间添加和删除 classes。
Javascript:
$('.slick-promo').on('afterChange', function(event, slick, currentSlide){
$('.slick-active p').removeClass('hidden');
$('.slick-active p').addClass('animated bounce');
});
$('.slick-promo').on('beforeChange', function(event, slick, currentSlide){
$('.slick-active p').removeClass('animated bounce');
$('.slick-active p').addClass('hidden');
});
通过这样做,我能够将 .hidden class 添加到 html 上的 p 元素中。现在,当幻灯片进出时,我已经成功地定位了我的元素,这使得动画更加流畅。
请注意,这导致第一张幻灯片在加载时出现错误。我的解决方法是让隐藏的 class 不在第一张幻灯片上...
我正在尝试将 ken wheeler 的 slick carousel
中的 active slide
作为目标,以将动画添加到该幻灯片中的 p 元素。
因此,当 slide
处于活动状态时,p
元素将弹回(或其他内容),然后当幻灯片过渡到下一张幻灯片时,动画将应用于新的p 元素。幻灯片循环播放后,动画 class 将连续应用于 slick carousel
.
HTML:
<div class="slick-promo">
<div class="single-slide">[img code here]<p>This text will come in animated, then as the slide leaves it will have the animation class removed.</p></div>
<div class="single-slide">[img code here]<p>Lorem ipsum blah blah</p></div>
<div class="single-slide">[img code here]<p>lorem ipsum blah blah</p></div>
</div>
images
和几个classes
是我用的其他程序动态生成的。
Javascript:
jQuery(document).ready(function($){
$('.slick-promo').slick({
infinite: true,
fade: true,
cssEase: 'linear',
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
//this is where I need help
onAfterChange:function(slider,index){
$('.slick-active p').toggleClass('animated bounce');
}
});
});
.slick-active
class是由slick carousel
动态生成的。我的目标是上述 HTML 代码中的 p
元素。 animated bounce
classes 绑定到生成动画的 css。
我是 Javascript/jQuery
的新手,所以我的错误可能是初级的。我已经在网上搜索了很多小时,现在试图找出我需要做什么...
问题在于如何在 slick carousel 提供的 afterChange 和 beforeChange 事件期间添加和删除 classes。
Javascript:
$('.slick-promo').on('afterChange', function(event, slick, currentSlide){
$('.slick-active p').removeClass('hidden');
$('.slick-active p').addClass('animated bounce');
});
$('.slick-promo').on('beforeChange', function(event, slick, currentSlide){
$('.slick-active p').removeClass('animated bounce');
$('.slick-active p').addClass('hidden');
});
通过这样做,我能够将 .hidden class 添加到 html 上的 p 元素中。现在,当幻灯片进出时,我已经成功地定位了我的元素,这使得动画更加流畅。
请注意,这导致第一张幻灯片在加载时出现错误。我的解决方法是让隐藏的 class 不在第一张幻灯片上...