2011-02-01 14 views
0

最初に私はjavascriptにあまりよく慣れていないので、私はここにいる。 私のサイトでランダムな画像を描くためのコードです。これから作業して、イメージを繰り返さないようにするにはどうしたらいいですか?ありがとうございました!コード:ランダムイメージ。繰り返さずに?

<script type="text/javascript"> 

var banner_list = ['http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/LM_LogoMark4-4-2.gif', 'http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/logobg_dome.png', 'http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/logobg_brain.png']; $(document).ready(function() { var ran = Math.floor(Math.random()*banner_list.length); 
$(".logobg img").attr(banner_list[ran]); 
}); $(document).bind("projectLoadComplete", function(e, pid){ 
var ran = Math.floor(Math.random()*banner_list.length); 
$(".logobg img").attr("src", banner_list[ran]); 
}); </script> 

答えて

0

イメージを表示した後、アレイからスプライスして、banner_list.splice(ran, 1);を使用できます。引数は.splice(index, howManyToRemove, howManyToInsert)です。挿入はオプションです。スプライスを使用するだけで、表示している画像のインデックスから開始して削除することができます。あなたがそれを参照し終わるまで、それを削除しないようにしてください。

+0

ありがとうございました。私は本当に誰かのために私のためのコードを書く時間が必要です。私はそのJavaに精通していません。私は何日もこのことを理解しようとしてきましたが、役に立たなかったのです。 – luigi

+0

それはコードです。 'banner_list.splice(run、1);'配列を使ってイメージを使用した直後に配置します。この例ではイメージのsrcを設定した直後です。また、Javaは、今後の参考になるようにJavascriptとは大きく異なります。 – Robert

+0

ああ、ありがとう、たくさんのロバート。私はグラフィックデザイナーであり、あなたが見ることができるように、私はプログラミングに関しては全く無知です。説明をありがとう;) – luigi

0

2つの配列を持つRobert.splice()をロバートの提案として使用できます。未使用のものと使用済みのものの1つ。私のJSfiddleをチェックしてください。

var images = ["http://www.fowkesauto.com/products_pictures/nutsbolt.jpg", 
       "http://i01.i.aliimg.com/photo/v0/114511763/Fasteners_Bolts_and_Nuts.jpg", 
       "http://us.123rf.com/400wm/400/400/DLeonis/DLeonis0810/DLeonis081000018/3706757-bolts-and-nuts-on-white.jpg", 
       "http://static3.depositphotos.com/1003288/173/i/950/depositphotos_1737203-Nuts-and-bolts.jpg"], 
    usedImages = []; 

setInterval(function() {changeImage();},500); 

var changeImage = function() { 
    var index = Math.floor(Math.random() * (images.length)), 
     thisImage = images[index]; 

     usedImages.push(thisImage); 
     images.splice(index, 1); 

     if (images.length < 1) { 
      images = usedImages.splice(0, usedImages.length); 
     } 

     $("#image").attr("src", thisImage); 
}