Я хочу просмотреть список элементов и переключить класс для каждого (.active), меняя его каждые 4 секунды. Активный класс изменит цвет фона значка и отобразит соответствующий текст под ним.
Итак, первый элемент в моем списке будет иметь класс active по умолчанию (и его информация будет отображаться по умолчанию)и вся остальная информация для других значков будет скрыта, затем через 4 секунды я хочу удалить этот класс и добавить класс к следующему элементу (таким образом, изменив его цвет фона и отобразив его текст) и так далее, возвращаясь к первомуэлемент, как только последний элемент переключил класс.
Я пытаюсь использовать jquery each () для достижения этой цели, но не могу заставить его работать.
<div id="outer">
<div id="inner">
<div class="item wifi-icon"><i class="fa fa-wifi" aria-hidden="true"></i></div>
<div class="item plug-icon"><i class="fa fa-plug " aria-hidden="true"></i></div>
<div class="item suitcase-icon"><i class="fa fa-suitcase" aria-hidden="true"></i></div>
<div class="item wheelchair-icon"><i class="fa fa-wheelchair" aria-hidden="true"></i></div>
<div class="item play-icon"><i class="fa fa-youtube-play" aria-hidden="true"></i></div>
</div>
<div id="info">
<div id="wifi-text" class="perk-text ">
<h3>Free WiFi</h3>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elit</p>
</div>
<div id="plug-text" class="perk-text ">
<h3>Power Sockets</h3>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elit</p>
</div>
<div id="suitcase-text" class="perk-text ">
<h3>Luggage</h3>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elit</p>
</div>
<div id="wheelchair-text" class="perk-text ">
<h3>Wheelchair Accessible</h3>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elit</p>
</div>
<div id="play-text" class="perk-text ">
<h3>Onboard Entertainment</h3>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elit</p>
</div>
</div>
</div>
.active {
background-color:#74BDE9;
color: #ffffff;
cursor: pointer;
}
$(document).ready(function(){
let itemsLength = $('#inner > .item').length;
let active = $('.active');
let item = $('.fa');
setInterval( function() {
item.each( function(index) {
if( $(this).hasClass('active') ) {
$(this).removeClass('active');
$(this).next().addClass('active');
}
});
}, 4000);
$('.perk-text').hide();
if ( $('.fa-wifi').hasClass('active') ) {
$('#wifi-text').show();
};
if ( $('.fa-plug').hasClass('active') ) {
$('#plug-text').show();
};
if ( $('.fa-suitcase').hasClass('active') ) {
$('#suitcase-text').show();
};
if ( $('.fa-wheelchair').hasClass('active') ) {
$('#wheelchair-text').show();
};
if ( $('.fa-play').hasClass('active') ) {
$('#play-text').show();
};
});