Sto provando a fare in modo che la classe di ogni elemento cambi automaticamente una alla volta in sequenza. Ciò significa che l'elemento 1 si illumina e quindi si spegne quando l'elemento 2 si illumina e quindi si spegne e così via. Quando ogni elemento è illuminato una volta inizia l'intera sequenza.Come alternare la classe di elementi in sequenza?
$('header div:first').toggleClass('highlight').nextAll().toggleClass('none');
function highlight() {
var $off = $('header div.highlight').toggleClass('none');
if ($off.next().length) {
$off.next().toggleClass('none');
} else {
$off.prevAll().last().toggleClass('highlight');
}
}
$(document).ready(function() {
setInterval(highlight, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
<div>element 1</div>
<div>element 2</div>
<div>element 3</div>
<div>element 4</div>
</header>
non funzionerà come previsto (elementi da 2 a 4 clou tutto allo stesso tempo e poi andare via mentre l'elemento 1 cambio pretende molto a tutti) e non so perché. Che cosa sto facendo di sbagliato?
penso che in più '.none' è inutile. Tutto ciò di cui hai bisogno è il tuo '.highlight' –
dovrei toglierlo da dove? –
Ovunque, a meno che non includa alcuni CSS nella tua domanda che dimostra che ha uno scopo reale. Basta invece attivare la classe 'highlight'. – Thernys