2016-08-18 78 views
1

玩jquery,我需要關於codepen上這部分的幫助。從數組中獲取隨機圖像的jquery按鈕

我評論我需要幫助,可能有人解釋如何得到一個隨機的圖像顯示在IMG我按一下按鈕

我的代碼之後的部分:

$('#switch').on('click',function(){ 
    //Help with this part 
    $('h1').html("I'm supposed to switch the picture but I can't do that"); 

我需要#switch (按鈕)從我提供的數組中將#duck(image)src更改爲隨機src。

CodePen link

+0

後的HTML,也許是鏈接到PEN – mplungjan

+0

對不起,只是做了它。 – Nex

+0

首先改變爲'

回答

0

switch單擊處理程序應該是這樣的:

$('#switch').on('click', function() { 
 
    $('h1').html("I'm supposed to switch the picture but I can't do that"); //Help with this part 
 
    $(".content").find("img").attr("src", myArray[Math.floor(Math.random() * myArray.length -1)]); 
 
});

+0

哇,謝謝,這就是我所需要的。你能爲我解釋一下這個代碼嗎?爲什麼在數組的末尾有-1,並且可以使用我定義的可變參數從數組中獲得隨機img? – Nex

+0

而不是一個變量,你應該把'random'定義爲一個函數,因爲現在寫入的全局變量將會每次返回相同的數字並且不會有幫助。 '-1'是因爲數組是基於零的[1,2,3]將在索引0處具有1,在索引1處具有2,在索引2處具有3,而長度將是3 ,但是你不會在'index 3'有一個值,因此'-1' – Marta

+0

謝謝Marta。我將如何使一個函數從數組中隨機返回字符串? – Nex

0

你必須設置你的img標籤的src屬性,就像下面。

$("img").attr('src', 'http://example.com/smith.gif') 
0

有問題beacue初始化隨機變量globaly.I剛剛確定它運行時改變這個

$('#duck').attr('src', myArray[Math.floor(Math.random() * myArray.length)]); 

也刪除主類單擊事件爲不低於neccessary.try更新的鏈接

http://codepen.io/anon/pen/LkvPRq

+0

所以當我想從數組中獲得一個隨機的字符串/圖像時,我必須將它定義爲一個函數而不是變量? – Nex

+0

是的,如果你想定義爲變量,你需要在函數中定義它。 –