1ずつインクリメントまたはデクリメントすることにより、jQueryオブジェクトの配列を反復しようとしています。したがって、デクリメント部分では、次のコードを使用します。
var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];
だから私はIDを持つ4つの要素を持っています:
div_0
div_1
div_2
div_3
私はそれが 3 - 2 - 1 - 0 - 3 - 2 - などと繰り返されることを期待していました.
しかし、ゼロの後に -1 を返すため、スタックします。したがって、次のように繰り返されます。
3 - 2 - 1 - 0 - -1 - スタック
コードの2行目を次のように変更することで、おそらく修正できることはわかっています
indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;
しかし、JavaScript が負の mod を計算しないのはなぜだろうか。たぶん、これは別のコーダー仲間にも役立つでしょう。