0

画像を事前に読み込んでいます

  var headerImages = [
       'images/logoa.png',
       'images/logob.png',
       'images/logoc.png',
       'images/logod.png',
       'images/logoe.png',
       'images/logog.png',
       'images/logoh.png',
       /* 'images/logoi.png', */
       'images/test/logoa.png',
       'images/test/logob.png'];

次に、各ページスクロールでランダムなものを選択します。プリロードの上から下まで順番に作成するにはどうすればよいですか?

....

jQuery.preLoadImages(headerImages);


jQuery(window).scroll(function() {
  jQuery('#sidebar').css('backgroundImage', 'url(' +
headerImages[Math.floor(Math.random()*headerImages.length)] + ')');
});

だから私はそれがこの部分Math.floor(Math.random()*headerImages.length)だと思いますが、私は何をすべきか分かりません..

助けてくれてどうもありがとう!

4

3 に答える 3

1
var x =0;
jQuery(window).scroll(function() {
  jQuery('#sidebar').css('backgroundImage', 'url(' +
headerImages[x] + ')');
x++
if (x == headerImages.length)
{
 x =0;
}
});
于 2012-12-17T12:12:41.133 に答える
1

headerImages配列のように見えるので、0 から headerImages.length までのループを実行して、次のようにすれば問題ありません。

jQuery('#sidebar').css('backgroundImage', 'url(' + headerImages[x] + ')');

ループ内で、xは 0 から最大までインクリメントする変数です。

于 2012-12-17T12:14:01.907 に答える
1

現在の画像インデックスを変数に格納し、スクロールごとに追加することでそれを行うことができます。次に、リストの最後に到達したらゼロに設定します。

jQuery.preLoadImages(headerImages);

    var index = 0; // set the variable

    jQuery(window).scroll(function() {
    jQuery('#sidebar').css('backgroundImage', 'url(' + headerImages[index] + ')');

    index ++; // add one to point to the next image on the next scroll

    if(index==headerImages.length) index = 0; // If the counter is at the end of the array then set it to zero again

});
于 2012-12-17T12:14:02.603 に答える