Я пытаюсь динамически добавлять класс в slide-content
и slide-buttons
в поле заголовка Bootstrap Carousel
. Я хочу, чтобы мой код добавлял класс animate
, только если родительский div с классом item
имеет добавленный к нему класс active
. (класс active
добавляется только тогда, когда элемент перемещается внутрь.). Вот основной HTML-код карусели.Добавить класс в элемент Если он уже имеет определенный класс
<div class="carousel-inner" role="listbox">
<!-- Item 1 -->
<div class="item active">
<img src="..." alt="...">
<div class="carousel-caption">
<div class="slide-content>
...
</div>
<div class="slider-buttons">
...
</div>
</div>
</div>
<!-- /Item 1 -->
<!-- Item 2 -->
<div class="item">
<img src="..." alt="...">
<div class="carousel-caption">
<div class="slide-content>
...
</div>
<div class="slider-buttons">
...
</div>
</div>
</div>
<!-- /Item 2 -->
...
</div>
И вот что я пробовал.
$item = $('.carousel-inner > .item');
$($('.carousel-inner > .item')).each(function() {
if (this.hasClass('active')) {
$('.carousel-caption > .slide-content, .carousel-caption > .slider-buttons').addClass('animated');
} else {
$('.carousel-caption > .slide-content, .carousel-caption > .slider-buttons').removeClass('animated');
}
});
Теперь, когда я удалить each
функцию JQuery, он добавляет класс animated
ко всем элементам, когда любой из пункта получает класс active
. Кроме того, он вообще не удаляет класс (поскольку класс active
есть, в отличие от родительского div.). И когда я добавляю функцию each
, она вообще не работает.
Пожалуйста, помогите.
Можете ли вы сделать скрипку? Когда вы используете 'addClass' (или' removeClass'), вы нацеливаете все элементы, которые вы помещаете в свой селектор. – putvande