私はHTML要素の配列を持っています。配列内のn番目のアイテムを取得
var boxes = $('.box'); // creating the array
boxes.each(function(i){ // going through the array
var prevBox = i>0?$(boxes[i-1]):false; // check whether a previous box exists
if (prevBox) { } // do something
else { } // do something else
});
これはうまく機能:私は、アレイ内の前のオブジェクトは次のように存在するかどうかをチェックしています。しかし、私はまた、配列内のすべての4番目のオブジェクト(ボックス)の存在をチェックする必要がありますか、より正確には、現在のものより3つ前のオブジェクトが存在するかどうかを確認する必要があります。
これは動作しません:(i % 4) == 0
が答えかもしれませんが、JavaScriptの私の限られた知識で、私は何を私にそれを適用する方法がわからない場合は
var prevBox = i>0?$(boxes[i-4]):false;
私はを使用してチェックすると信じて今ある。
誰でも手助けできますか?ありがとう!
ありがとうパトリック、しかしそれは私が何をしているのか全く分からない。オブジェクトから 'position()。top'値を取得し、それに別の値を追加する必要があります。他の 'boxes [3]'では 'boxes [5]'の 'boxes [3]'、 'boxes [8]'などの 'boxes [0]'、 'boxes [6] 'の値が必要です。 申し訳ありませんが、私はこれを簡単な方法で説明するのに問題があり、十分に具体的ではありませんでした。 – hannu
つまり、各繰り返しで3段階に戻って、ボックスから 'position()。top'値を取得し、それを使ってこの現在のボックスの新しい値を計算する必要があります。 – hannu
@hannu:*各要素について、その背後にある要素が3つ必要だと言っていますか?上記のコメントの番号は一貫していません。それは3から6に8になります。パターンはありません。 – user113716