gpt4 book ai didi

javascript - 如何使用 jQuery 将类添加到基于子类的父元素

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:03 25 4
gpt4 key购买 nike

我正在创建一个标准的 jQuery 图像幻灯片,但我需要根据当前显示的幻灯片向容器 div 添加某个类。

我正在使用 Flexslider,它有助于为当前幻灯片提供“flex-active-slide”类。我想做的是将该类与一个独特的类结合使用来选择事件幻灯片(即“.heating-slide.flex-active-slide”)。

然后我想让 jQuery 根据当前显示的幻灯片向包含的 div (.image-slider.full-width) 应用一个额外的类。

例如:

  • 如果正在显示加热幻灯片,我想将一类 .heating-container 应用到 .image-slider.full-width div。
  • 如果正在显示冷却幻灯片,我想应用一类 .cooling-container
  • 等等

这是我的代码:

<div class="image-slider full-width">
<div class="image-slider-container">
<div class="flexslider wide">
<ul class="slides">
<li class="cooling-slide">
<img src="/assets/images/image-slider/slides/cooling-slide.jpg" />
<div class="flex-caption">
<h2 class="">Cooling</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</p>
<a class="button" href="#">Find out more</a>
</div>
</li>
<li class="heating-slide">
<img src="/assets/images/image-slider/slides/heating-slide.jpg" />
<div class="flex-caption">
<h2 class="">Heating</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</p>
<a class="button" href="#">Find out more</a>
</div>
</li>
<li class="ventilation-slide">
<img src="/assets/images/image-slider/slides/ventilation-slide.jpg" />
<div class="flex-caption">
<h2 class="">Ventilation</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</p>
<a class="button" href="#">Find out more</a>
</div>
</li>
</ul>
</div>
</div>
</div>

这是我编写所需代码的拙劣尝试:

<script type="text/javascript" >
$(document).ready(function () {
$(".heating-slide.flex-active-slide") SOMETHING HERE (".image-slider.full-width").addClass("heating-container");
});
</script>

我们将不胜感激您提供的任何帮助!

最佳答案

更新

我没有考虑元素上的其他类,还让它删除了之前添加的类,这样你就不会把所有的类都放在那里:

$(function() {    
function setContainer() {
var activeSlide = $(".flex-active-slide");
var activeSlideClass = activeSlide.attr('class')
.replace('flex-active-slide', '')
.replace("-slide", "-container")
var slider = activeSlide.closest(".image-slider.full-width");
var latestClass = slider.data("latest-class");

if (latestClass) {
slider.removeClass(latestClass);
}
slider.addClass(activeSlideClass)
.data("latest-class", activeSlideClass);
}

$('.flexslider').flexslider({
animation: "fade",
controlsContainer: ".flex-container",
animationSpeed: 800, //Integer: Set the speed of animations, in milliseconds
slideshowSpeed: 10000, //Integer: Set the speed of the slideshow cycling, in milliseconds
after: function() { setContainer(); }
});

setContainer();
});

您应该能够按原样将其粘贴到您的代码中,而不是现有的 flexslider 绑定(bind)。

工作 fiddle - http://jsfiddle.net/xt4Ym/3/

关于javascript - 如何使用 jQuery 将类添加到基于子类的父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18332389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com