Ich versuche, eine Reihe von jQuery Objekten iterieren, durch Erhöhen oder Erniedrigen von 1. Also, für den Erniedrigen Teil verwende ich diesen Code:Wie berechnet man Modulo negativer Integer in JavaScript?
var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];
so 4 Elemente mit ids ich habe:
div_0
div_1
div_2
div_3
ich habe erwartet, es als 3 iterieren - 2 - 1 - 0 - 3 - 2 - etc ..
aber es gibt -1 nach dem Null, also steckt es ist. So ist es iteriert wie:
3 - 2 - 1 - 0 - -1 -
steckte ich weiß, dass ich es wahrscheinlich durch Änderung der zweiten Zeile der Code
indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;
beheben kann, aber ich frage mich, warum JavaScript keine negativen Mods berechnet. Vielleicht hilft das auch einem anderen Coderkollegen.
Es gibt mehrere negative Mod-Lösungen. http://stackoverflow.com/questions/1082917/mod-of-negative-number-is-melting-my-brain – ryan
mögliche Duplikate von [Javascript modulo nicht benehmen] (http://stackoverflow.com/questions/4467539/ javascript-modulo-not-benehmen) –
Sie sollten in Betracht ziehen, Ihre akzeptierte Antwort auf die untere zu ändern, da diese Ihnen eine tatsächliche Lösung für die gestellte Frage bietet. – Marquizzo