问题描述
这是我的问题。 我在我的页面中使用了 owl.carrousel MIT 库。 该库会自动创建一个 div 以在必须显示时为其提供“活动”类。 当任何不同的“owl-item”处于活动状态时,我想在 carrousel 部分设置不同的背景。
这是我的 index.html 文档中的 html 代码:
<section id="testimonials">
<div class="container">
<div class="owl-carousel testimonials-carousel">
<div class="testimonial-item Titem1">
<h3>First carousel item</h3>
</div>
<div class="testimonial-item Titem2">
<h3>Second carousel item</h3>
</div>
<div class="testimonial-item Titem3">
<h3>Third carousel item</h3>
</div>
<div class="testimonial-item Titem4">
<h3>Fourth carousel item</h3>
</div>
</div>
</div>
</section>
这是 owl.carrousel 库发挥作用后页面上的 html 代码:
<section id="testimonials">
<div class="container">
<div class="owl-carousel testimonials-carousel">
<div class="owl-stage-outer">
<div class="owl-stage">
<div class="owl-item active">
<div class="testimonial-item Titem1">
<h3>First carousel item</h3>
</div>
</div>
</div>
</div>
<div class="owl-stage-outer">
<div class="owl-stage">
<div class="owl-item">
<div class="testimonial-item Titem2">
<h3>Second carousel item</h3>
</div>
</div>
</div>
</div>
<div class="owl-stage-outer">
<div class="owl-stage">
<div class="owl-item">
<div class="testimonial-item Titem3">
<h3>Third carousel item</h3>
</div>
</div>
</div>
</div>
<div class="owl-stage-outer">
<div class="owl-stage">
<div class="owl-item">
<div class="testimonial-item Titem4">
<h3>Fourth carousel item</h3>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
我想使用带有 class="owl-item active" 子项(正在显示的活动推荐项)的 div 来为部分元素 id="testimonials" 提供一个类,因此每次都有不同的 . owl-item 获取类 .active,该部分的背景也会发生变化。 我尝试用 javascript 和 jQuery 来做这件事,但对我来说没有任何效果,可能因为我仍然是一个菜鸟 xD。
例如这是我尝试的最后一件事
$('#testimonials').addClass( $('.owl-item.active > .testimonial-item').attr("class") );
因此,如果有任何 JS 或 jQuery 之神可以帮助我,请:V 我真的不知道我在做什么。
感谢您阅读到最后;)
解决方法
Daddys Code 的代码运行良好,但实际上足够快,甚至在类“活动”从“猫头鹰项目”更改为另一个之前就可以将类提供给“#testimonials”,因此它为它提供了从最后一个“owl-item active”可以使用“translated.owl.carousel”而不是“change.owl.carousel”轻松修复:
$(".owl-carousel").owlCarousel();
var owl = $(".owl-carousel");
owl.owlCarousel();
owl.on("translated.owl.carousel",function (event) {
$("#IDi").removeClass();
$("#IDi").addClass($(".owl-item.active > .testimonial-item").attr("class"));
});
,
由于我能够理解您的问题,请将以下代码添加到您的 js 文件中
$(".owl-carousel").owlCarousel();
var owl = $(".owl-carousel");
owl.owlCarousel();
owl.on("translated.owl.carousel",function (event) {
$("#testimonials").removeClass();
$("#testimonials").addClass(
$(".owl-item.active > .testimonial-item").attr("class")
);
});