0

私は何よりもまず配列を扱うのは初めてです。一連のImgタグからすべてのcss背景色の値を収集し、それを使用して配列を構築しています。ただし、配列内の各値は、その前の値の雪だるま式です。配列内の各値を出力するにはどうすればよいですか?これが私のコードです:

var slideArray = [];
$('.home-rotator-wrap .cycle-slideshow > div img').each(function() {
    slideArray.push($(this).css('background-color'));
    console.log(slideArray);
});

そして、私がコンソールに表示するもの:

["rgb(255, 0, 0)"]
["rgb(255, 0, 0)", "rgb(0, 255, 0)"]
["rgb(255, 0, 0)", "rgb(0, 255, 0)", "rgb(0, 0, 255)"]
["rgb(255, 0, 0)", "rgb(0, 255, 0)", "rgb(0, 0, 255)", "rgb(0, 0, 0)"] 

4つのimgタグの値のそれぞれが必要ですが、それぞれを個別に返す必要があります。

配列の値を循環し、時限アニメーションでそれぞれを返すことができるようにするために、これらすべてが行われます。これはページの背景用であり、cycle2スライダーのアニメーションと一致する必要があります。

4

1 に答える 1

5

コードは機能します。console.logステートメントを間違った場所に配置しただけなので、各ループの後に配列の進行状況がログに記録されます。一度だけログに記録する場合は、ループの外に移動します。


ところで、これらの値を手動で配列にプッシュする必要はありません。あなたはそのために使うことができますmap

var slideArray = $('.home-rotator-wrap .cycle-slideshow > div img').map(function() {
    return $(this).css('background-color');
}).get();

パフォーマンスを向上さ$.cssせるには、コレクション内の要素ごとに新しいオブジェクトを作成するのではなく、静的メソッドの使用を検討する必要があります。

var slideArray = $('.home-rotator-wrap .cycle-slideshow > div img').map(function() {
    return $.css(this, 'background-color');
}).get();

console.log(slideArray);
于 2013-01-25T18:21:14.553 に答える