wie kann ich die Schleife .next()?
Ich habe 3 divs mit der gleichen Klasse, ich bin Klasse hinzufügen 'ausgewählt', um das NÄCHSTE DIV-Element auf klicken Sie auf und entfernen es aus der vorherigen Klasse, seine Arbeit gut, aber ich möchte die Schleife, die Sie
Zeit von 1 --> 2 --> 3, ich will es, um eine Schleife, 3-->1, bitte um Hilfe...
HTML
<div id="all">
<div class="section selected">ONE</div>
<div class="section">TWO</div>
<div class="section">THREE</div>
</div>
<br />
<a href="javascript:;" id="button">CLICK</a>
CSS
.selected{background:red}
JS
$('#button').click(function(){
$('.section.selected').removeClass('selected').next('.section').addClass('selected');
});
JS Fiddle Link : http://jsfiddle.net/madhuri2987/KK66g/2/
InformationsquelleAutor der Frage itsMe | 2013-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einfachste Weg wäre einfach zu überprüfen, ob
.next()
existiert, und wenn nicht "auswählen" die erste.http://jsfiddle.net/KK66g/3/
InformationsquelleAutor der Antwort Explosion Pills
Ich bin mir nicht sicher, ob ich sollte behaupten, das funktioniert in jedem Fall, aber ich habe mich immer gefragt, ob es möglich wäre, Fortschritte zu den ersten auf der letzten nicht gültig. Dies ist, was ich erarbeitet:
http://jsfiddle.net/userdude/9UFD2/
Was dies bedeutet ist, wählen Sie zuerst die
.section
die nach.selected
:Ich auch hinzufügen einer sekundären Wahlschalter auf stellen Sie sicher, und erhalten mindestens einen Treffer:
Den oben stellt den ersten
$('.section')[0]
in diesem relativ einfachen Beispiel. Dann benutze ich.last()
auf das Ergebnis der compound-Auswahl, dass Sie mir entweder Ergebnis[1]
(denn was wäre eine gültige.next()
- match), oder[0]
für ein erstes Spiel (siehe.last()
geben sowohl ersten und letztenwenn es nur ein Ergebnis in der Liste).Obwohl die Selektoren sind bestellt, scheinbar gegensätzlichen Verwendung von
.last()
dies scheint zu funktionieren, anstatt.first()
für die ich nicht unbedingt verstehen, der Grund, warum das so ist. Dies ist welche Reihenfolge der Selektoren werden inalso bestellte ich Sie so, wie Sie sinnvoll in die Auswahl.Dann, der rest ist einfach. Fügen Sie eine Klasse zu welcher der Selektor zurückgegeben
.last()
dann finden Sie die.siblings()
zu, dass die (neu) ausgewählten.section
mit.selected
(das einzige andere wäre die, die wir wählen Weg aus), und entfernen Sie es.selected
Klasse.Scheint es zu funktionieren. Ich nehme an, würde ich gerne hören, irgendwelche Kommentare, ob diese zuverlässig ist oder nicht.
InformationsquelleAutor der Antwort Jared Farrish
Ich habe einen einfachen code wie diesen
InformationsquelleAutor der Antwort Phong Vo
CoffeeScript
Meine einfache CoffeeScript Lösung, die ich dachte, ich würde teilen, für diejenigen, die es verwenden:
HINWEIS: Stellen Sie sicher, dass die jeweiligen
selector
zunext()
undsiblings()
wenn es Geschwister sind, die Sie nicht einschließen möchten in Ihrem loop/cycle.InformationsquelleAutor der Antwort Joshua Pinter