2014-03-12 16 views
0

我有這個JavaScript來顯示在點擊一個隨機圖像:如何指定這個隨機圖像腳本

function pickimg(){ 
var imagenumber = 4 ; 
var randomnumber = Math.random() ; 
var rand1 = Math.round((imagenumber-1) * randomnumber) + 1; 
images = new Array 
images[1] = "images/1.png" 
images[2] = "images/2.png" 
images[3] = "images/3.png" 
images[4] = "images/4.png" 
var image = images[rand1] 
document.randimg.src = image 

有沒有一種方法,以確保相同的圖像不連續出現兩次?

+0

什麼行在哪裏? –

+0

您可以創建一個數組並執行'array.search(image)!= -1' – musicnothing

+0

您可以保留當前元素並檢查它是否相同 – PlaceUserNameHere

回答

0

怎麼回合這個小alogrithm:

  1. 存儲在所述陣列的時隙0的最後使用的圖像
  2. 選擇隨機圖像索引爲大於0
  3. 顯示它
  4. 在槽與圖像替換它0

使用Javascript:

images = new Array(); 
images[0] = "images/1.png" //will be that last used image 
images[1] = "images/2.png" 
images[2] = "images/3.png" 
images[3] = "images/4.png" 
function pickimg(){ 
    var randomnumber = Math.random(); 
    // pick a random number from 1 to LENGTH (3) 
    var rand1 = Math.round((images.length-1) * randomnumber)+1; 
    var image = images[rand1]; //get the image 

    // switch so that the random image will be in the used 
    // images slot (slot 0) 
    images[rand1] = images[0] 
    images[0] = image 

    document.randimg.src = image 
} 
+0

感謝您的幫助。它似乎工作,但有時它會給出一個空白圖像說'未定義'? – JamesM