Unter Berücksichtigung des folgenden Szenario:Makel mehr divs Klassen mit JQuery
- Es gibt eine Reihe o divs, die alle mit der Klasse
.step
- Die Menge an
div.step
s 3 sein kann oder mehr.
Ich brauche die Klassen .current
, .next
und .previous
alle 5 Sekunden in allen div.step
zu wechseln. Es muss immer eine .current
, eine .next
und eine .previous
sein.
Wenn .current
der erste ist, wird der zweite .next
und der letzte .previous
sein.
Wenn .current
der letzte ist, wird der vorherige .previous
und der erste wird .next
sein.
Ansonsten sind sie immer in der Reihenfolge .previous
, .current
und .next
.
Ich habe Probleme mit diesem Code. Bitte geben Sie Hilfe oder Ideen.
$(document).ready(function(){
// Initial Setup
$(".step:nth-of-type(1)").addClass("current");
$(".step:nth-of-type(2)").addClass("next");
$(".step:last-of-type").addClass("previous");
var steps = $(".step");
setInterval(changeClasses, 5000);
function changeClasses(){
\t for(var i = 0; i < steps.length; i++){
\t \t // if current is first
\t \t // first : current
\t \t // second : next
\t \t // last : previous
\t \t // if current is last
\t \t // last : current
\t \t // first : next
\t \t // last - 1 : previous
\t }
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="steps-wrapper">
<div class="step">Step 1</div>
<div class="step">Step 2</div>
<div class="step">Step 3</div>
<div class="step">Step 4</div>
<div class="step">Step 5</div>
</section>
können Sie versuchen, mit https://api.jquery.com/index/ dies wird Ihnen den Index der spezifischen Element, so wenn Index der aktuellen ist 0 dann 1 wird als nächstes und Gesamtzählung wird zurück, wenn Index i ist gleich Gesamtzählung, dann wird 0 der nächste und count-1 wird der letzte sein. Der Index ist ebenfalls Null Basen. Denken Sie daher daran, dass Sie für den letzten Elementindex -1 von der Gesamtzahl abziehen müssen – abhirathore2006